Reproducing the Snapshot

Auditing the Snapshot is simply reproducing a snapshot directly from blockchain data and comparing it with the officially published snapshot data.

Getting the Registration Deadline slot number

Getting the slot_no aligned with the registration deadline.

Query the dbSync database with:

select slot_no, time from block 
    where slot_no is not null and time <= '2025-09-11 21:45:00'
    order by slot_no desc limit 1 ;

The result will be:

166060796|2025-09-11 21:44:57

Therefore the slot# that the snapshot needs to target is: 166060796

Running the Raw snapshot

The first part of the snapshot accumulates raw registration and staked ada information and validates it according to CIP-15 arrow-up-rightand CIP-36arrow-up-right.

Note: Multiple delegations, as specified by CIP-36, are not supported. These will be detected as invalid registrations. Only registrations that contain a single voting key are supported and valid.

Run (replace your credentials as appropriate):

export USERNAME=<Your dbSync postgresql Username>
export PASSWORD=<Your dbSync postgresql Password>
export DBSYNC_POSTGRES="localhost:5432"
./target/release/snapshot_tool --db cexplorer --db-user $USERNAME --db-pass $password --db-host $DBSYNC_POSTGRES --out-file ./cexplorer-166060796.json --min-slot 0 --max-slot 166060796 --network-id mainnet

This will produce three files:

  • cexplorer-166060796.json <- Raw Snapshot Data

  • cexplorer-166060796.unregistered.json <- Unregistered but staked ADA.

  • cexplorer-166060796.errors.json <- Errors or Obsolete registrations.

Processing the snapshot with Fund14 parameters

This filters registrations for minimum allowed voting power:

Run:

This produces the final snapshot: cexplorer-166060796.summary.json

Official Snapshot Artifacts

As soon as the official snapshot artifacts that will be used for Fund14 are available, they will be linked herearrow-up-right.

It is possible to run the snapshot independently until they are published.

Last updated