Skip to main content

DSV Mainnet Snapshotter Lite V2 Setup

warning

This guide requires the snapshotter CLI to be installed and configured. Refer to the Snapshotter CLI documentation for complete installation and usage instructions.

tip

If you want the fastest path, skip to Install the snapshotter CLI and then return to Configure for BDS Data Market on DSV Mainnet.

Configure for BDS Data Market on DSV Mainnetโ€‹

You can use the powerloom-snapshotter-cli configure command to configure snapshotter lite node(s) for the BDS Data Market on DSV Mainnet.

powerloom-snapshotter-cli configure --env mainnet --market BDS_MAINNET_UNISWAPV3
# or from shell mode:
powerloom-snapshotter> configure --env mainnet --market BDS_MAINNET_UNISWAPV3
# or with uv:
uv run powerloom-snapshotter-cli configure --env mainnet --market BDS_MAINNET_UNISWAPV3
# First-time setup: prompts show (required) or (optional, leave blank to skip)
# Reconfiguring: prompts show (current: value, press Enter to keep) or (default: value, press Enter to use)
๐Ÿ‘‰ Enter slot NFT holder wallet address (0x...) (required): <slot NFT holder wallet address>
๐Ÿ‘‰ Enter SNAPSHOTTER signer address (0x...) (required): <SNAPSHOTTER signer address>
๐Ÿ‘‰ Enter signer private key (required): <signer private key>
๐Ÿ‘‰ Enter RPC URL for ETH-MAINNET (required): <ETH-MAINNET RPC URL>
๐Ÿ‘‰ Enter Powerloom RPC URL (default: https://rpc-v2.powerloom.network, press Enter to use): <or press Enter>
๐Ÿ‘‰ Enter Telegram chat ID (optional, leave blank to skip): <or leave blank>
๐Ÿ‘‰ Enter local collector P2P port (for gossipsub mesh communication) (default: 8001, press Enter to use): <or press Enter>
โœ… Created /root/.powerloom-snapshotter-cli/profiles/bds-mainnet-uniswapv3/.env.mainnet.bds_mainnet_uniswapv3.eth_mainnet with following values:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Environment File Contents โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
< Your environment file contents >

Deploy the Snapshotter Lite Node(s)โ€‹

uv run powerloom-snapshotter-cli deploy --env mainnet --market BDS_MAINNET_UNISWAPV3

๐Ÿณ Docker daemon is running.
๐Ÿš€ Deploying to environment: MAINNET...
โœ“ Found profile config for market BDS_MAINNET_UNISWAPV3: /home/ubuntu/.powerloom-snapshotter-cli/profiles/default/.env.mainnet.bds_mainnet_uniswapv3.eth_mainnet
โ„น๏ธ No specific slots provided. Fetching all slots owned by 0xabcdefghijklmnopqrstuvwxyz0123456789 on mainnet...
Found N slots for wallet 0xabcdefghijklmnopqrstuvwxyz0123456789 on mainnet: [ . . . ]
โ„น๏ธ Found slots for wallet 0xabcdefghijklmnopqrstuvwxyz0123456789: [ . . . ]

# choose to deploy select or all slots

โ˜‘๏ธ Do you want to deploy all of these fetched slots? (y/n) [y]: n
๐Ÿซธ โ–ถ๏ธŽ Enter the start slot ID from the list above to deploy: N1
๐Ÿซธ โ–ถ๏ธŽ Enter the end slot ID from the list above to deploy (or same as start for single): N2
๐ŸŽฐ Targeting slots for deployment: [N1, N2]
๐Ÿš€ BDS DSV market detected - using branch: master
๐Ÿš€ Deploying snapshotter nodes for market: BDS_MAINNET_UNISWAPV3...

[ . . . more output . . . ]
----- Deployment Summary -----
โœ… Successfully deployed n snapshotter instance(s).
๐Ÿงน Cleaning up temporary base snapshotter clone at /home/ubuntu/snapshotter-lite-multi-setup/.tmp_snapshotter_base_clone...
โœ… Cleanup successful.

Verify Running Statusโ€‹

note

The examples below assume slot ID 1234 is one of the deployed slots.

Check Simulation Submission Status on Dashboardโ€‹

You can check the simulation submission status on the decentralized Snapshotter Dashboard. If everything goes well, you should see the simulation submission timestamp within a couple of minutes of the logs shown below.

note

Once epoch release goes live on DSV mainnet for the BDS data market, the dashboard will show actual snapshot submissions.

Check Running Docker Containersโ€‹

sudo docker ps | grep -iE 'mainnet|collector'
1dce7f01765b snapshotter-lite-v2-1234-mainnet-bds_mainnet_uniswapv3-eth-snapshotter-lite-v2 "bash -c '\n rm -f /โ€ฆ" 31 seconds ago Up 31 seconds snapshotter-lite-v2-1234-mainnet-BDS_MAINNET_UNISWAPV3-ETH
03f92f3996ee snapshotter-lite-v2-1234-mainnet-bds_mainnet_uniswapv3-eth-snapshotter-lite-v2 "bash -c '\n rm -f /โ€ฆ" 36 seconds ago Up 36 seconds snapshotter-lite-v2-1234-mainnet-BDS_MAINNET_UNISWAPV3-ETH
d4092014c788 snapshotter-lite-v2-1234-mainnet-bds_mainnet_uniswapv3-eth-snapshotter-lite-local-collector "/snapshotter-local-โ€ฆ" 36 seconds ago Up 36 seconds 127.0.0.1:8001->8001/tcp, 127.0.0.1:8085->8085/tcp, 127.0.0.1:50051->50051/tcp snapshotter-lite-local-collector-mainnet-BDS_MAINNET_UNISWAPV3-ETH
22c4ed99acd3 5f56581c58f2 "/snapshotter-local-โ€ฆ" 8 weeks ago Up 8 weeks 0.0.0.0:50052->50052/tcp, [::]:50052->50052/tcp snapshotter-core-snapshotter-local-collector-1

Trail Snapshotter Logsโ€‹

# attach to one of the screen sessions
screen -r pl_mainnet_bds_mainnet_uniswapv3_1234

# or check container logs
sudo docker logs -f snapshotter-lite-v2-1234-mainnet-BDS_MAINNET_UNISWAPV3-ETH

You should see snapshotter logs like the following, indicating simulation submission snapshot generation and submission.

February 15, 2026 > 13:25:48 | INFO | ๐ŸŽฒ Genesis epoch: querying BDS with epoch 24462489 (latest - 1)| {'module': 'EpochContext'}
February 15, 2026 > 13:25:48 | INFO | ๐Ÿ“‹ BDS response for active pools: {'snapshot_cid': 'bafkreicy4wnb6rvi72o7yiwejqq5sxku3uc43d3zr7ebxhed5ehldnsrsq', 'epoch_id': 24462489, 'pools': {'0x202A6012894Ae5c288eA824cbc8A9bfb26A49b93': 1, '0x4d68B530920D26c3b01C99fecC19e21011B72bBD': 1, '0x6546055f46e866a4B9a4A13e81273e3152BAE5dA': 1, '0x6d69DCE31606AbD62C58E95BA984718EEbD540eA': 1, '0x75A5A265D21bC89eC130F18EdDe2b49a4B200dac': 1, '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640': 1, '0xE0554a476A092703abdB3Ef35c80e0D76d32939F': 4, '0xc756BBA710d45647715079cE50aa16aab36deD42': 1, '0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b': 5, '0xe6ff8b9A37B0fab776134636D9981Aa778c4e718': 1, '0xf31C54cb6F15a5A807Dc33d9dACC2471303D182e': 1}}| {'module': 'EpochContext'}
February 15, 2026 > 13:25:48 | INFO | ๐ŸŽฒ Genesis epoch (epoch 0) - slot 1234 processing pool: 0x<POOL_ADDRESS>| {'module': 'PairTotalReservesProcessor'}

February 15, 2026 > 13:25:55 | INFO | ๐Ÿ“ˆ [Epoch 24462480-24462480] Pool <POOL_ADDRESS> | Epoch total trade data: totalTradesUSD=0 totalTradesMintBurnUSD=0 totalFeeUSD=0 token0MintBurnVolume=0 token1MintBurnVolume=0 token0MintBurnVolumeUSD=0 token1MintBurnVolumeUSD=0 token0TradeVolume=0 token1TradeVolume=0 token0TradeVolumeUSD=0 token1TradeVolumeUSD=0| {'module': 'PowerLoom|UniswapCore'}
February 15, 2026 > 13:25:55 | DEBUG | [Epoch 24462480-24462480] Pool <POOL_ADDRESS> | Reserves and trade data generated successfully| {'module': 'PowerLoom|UniswapCore'}
February 15, 2026 > 13:25:55 | DEBUG | [Epoch 24462480-24462480] Pool <POOL_ADDRESS> | Creating final base snapshot| {'module': 'PowerLoom|UniswapCore'}
February 15, 2026 > 13:25:55 | INFO | โœ… [Epoch 24462480-24462480] Pool <POOL_ADDRESS> | Base snapshot generated successfully | Total trade: $0.00 | Total fee: $0.00| {'module': 'PowerLoom|UniswapCore'}
February 15, 2026 > 13:25:55 | DEBUG | โœ… [Epoch 24462480-24462480] Pool <POOL_ADDRESS> | Computation completed | Wall time: 1771161955.8083541| {'module': 'EpochContext'}

February 15, 2026 > 13:25:55 | DEBUG | Sending submission to collector...| {'module': 'GenericAsyncWorker'}
February 15, 2026 > 13:25:55 | DEBUG | Snapshot submission creation with request: slotId: 1234
deadline: 3174717
snapshotCid: "bafkreigx5okipomw2qurii4n25u34fjpd5b5gpcbxwm4j3htnxmubgqim4"
projectId: "baseSnapshot:0x<POOL_ADDRESS>:mainnet-BDS_MAINNET_UNISWAPV3-ETH"
| {'module': 'GenericAsyncWorker'}
February 15, 2026 > 13:25:55 | DEBUG | Snapshot submission created: request {
slotId: 1234
deadline: 3174717
snapshotCid: "bafkreigx5okipomw2qurii4n25u34fjpd5b5gpcbxwm4j3htnxmubgqim4"
projectId: "baseSnapshot:0x<POOL_ADDRESS>:mainnet-BDS_MAINNET_UNISWAPV3-ETH"
}
signature: "c94ad005cc6d5f0999844fdce7955b23a8eb9a7c8ab5bedcc9177912f6c59ead6f2642ed4bcb072cf8ca2f7ba389a1dd48bfe5a4a58ddddae2eae019eefd84251b"
header: "0x999a6932c997573d9b2557ba2188a488c0c993862abd63dacc0471a58a86c2ed"
dataMarket: "0x4198Bf81B55EE4Af6f9Ddc176F8021960813f641"
nodeVersion: "v2.8.0"
protocolState: "0xa1100CB00Acd3cA83a7C8F4DAA42701D1Eaf4A6c"
| {'module': 'GenericAsyncWorker'}
February 15, 2026 > 13:25:55 | DEBUG | Sent message to local collector and received response: message: "Success"
| {'module': 'GenericAsyncWorker'}
February 15, 2026 > 13:25:55 | INFO | Successfully submitted snapshot to local collector: request {
slotId: 1234
deadline: 3174717
snapshotCid: "bafkreigx5okipomw2qurii4n25u34fjpd5b5gpcbxwm4j3htnxmubgqim4"
projectId: "baseSnapshot:0x<POOL_ADDRESS>:mainnet-BDS_MAINNET_UNISWAPV3-ETH"
}
signature: "c94ad005cc6d5f0999844fdce7955b23a8eb9a7c8ab5bedcc9177912f6c59ead6f2642ed4bcb072cf8ca2f7ba389a1dd48bfe5a4a58ddddae2eae019eefd84251b"
header: "0x999a6932c997573d9b2557ba2188a488c0c993862abd63dacc0471a58a86c2ed"
dataMarket: "0x4198Bf81B55EE4Af6f9Ddc176F8021960813f641"
nodeVersion: "v2.8.0"
protocolState: "0xa1100CB00Acd3cA83a7C8F4DAA42701D1Eaf4A6c"
| {'module': 'GenericAsyncWorker'}

Trail Local Collector Logsโ€‹

sudo docker logs snapshotter-lite-local-collector-mainnet-BDS_MAINNET_UNISWAPV3-ETH -f -n 100 2>&1 | grep -i 'mesh'

You should see local collector logs like the following, indicating submission publication to the DSV mesh network.

time="2026-02-15T13:25:36Z" level=info msg="โœ… Successfully published submission to gossipsub" func="proto-snapshot-server/pkgs/service.(*server).publishToMesh" file="/app/pkgs/service/msg_server.go:751" epoch_id=0 mesh_state=healthy msg_size=717 peer_count=5 project_id="baseSnapshot:0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b:mainnet-BDS_MAINNET_UNISWAPV3-ETH" snapshot_cid=bafkreidpfvo6do3lrdrr5f2skmhsbk4nkkkk35ed5ksf7hjd43d4aoqwi4 topic=/powerloom/dsv-mainnet-bds/snapshot-submissions/0 total_connected=162 uptime_seconds=40110

Incentive Structureโ€‹

The incentive structure for the BDS data market on DSV Mainnet is as follows:

  • We start with a DAILY reward pool of 25,000 $POWER per day.
  • The reward pool will linearly scale with the number of snapshotter nodes successfully coming online, up to 100,000 $POWER per day.

What Happens to the Legacy Uniswap V2 Data Market?โ€‹

warning

The legacy Uniswap V2 data market will continue to function only until the next 14 days. After that, it will be deprecated and the centralized sequencer will be turned off.

This is a huge step towards Powerloom's goal of being a fully decentralized network, as well as scaling to the next level of data products and services by removing reliance on a centralized sequencer.

Until then, you can continue to run your older nodes as is and accumulate rewards for the next 14 days with the existing DAILY reward pool of 75,000 $POWER distributed only among those submitting to the legacy Uniswap V2 data market.

After that, you will need to migrate to the new BDS data market on DSV Mainnet.

Work Distribution Algorithmโ€‹

BDS (Blockchain Data Services) is a per-block, Uniswap V3 data market on Ethereum mainnet. One epoch = one block (~12 seconds). Each epoch, 1000 slots are deterministically selected from all registered nodes; each selected slot computes one active pool and submits its snapshot. No central coordinator: assignment is verifiable by any observer. Tick and reserve data are cached when the same pool is reassigned to a slot across nearby epochs, reducing RPC load.

What to Expect as an Operatorโ€‹

  • Selection rate: With ~8000 slots and 1000 per epoch, your slot has ~12% chance per epoch. Expect ~36 assignments per hour. No minimum guarantee.
  • Not selected = normal: If your slot is not picked for an epoch, the node simply skips work. That is expected.
  • Selected + failed: 3 consecutive selected-but-failed epochs trigger a Telegram alert.
  • Stuck detection: No activity for 10 minutes flags the node as stuck.

Configure your Telegram chat ID during snapshotter configure to receive these alerts. Leave it blank to disable.

Further Readingโ€‹

Why Per-Block Uniswap V3?โ€‹

Per-block data unlocks near real-time DeFi feeds: live trade flows for bots, instant liquidity snapshots for market makers, tick-level analytics for prediction markets, and pool activity dashboards for power users. The BDS data market is built for this: deterministic, verifiable, and designed to scale.

Want to see it in action? The Powerloom BDS dashboard serves live feed data from the BDS data market.

Install the Snapshotter CLIโ€‹

Option 1: Use the Pre-Built Snapshotter CLI Binaryโ€‹

Head to the latest snapshotter-lite-multi-setup release page and download the binary for your platform. Complete instructions are provided there.

The typical installation path is to copy the downloaded binary to /usr/local/bin/powerloom-snapshotter-cli or /usr/local/bin/snapshotter and make it executable.

For example, if you are on an x86_64 Linux machine and v0.3.1 is the latest release, these would be the commands to install the CLI:

wget https://github.com/powerloom/snapshotter-lite-multi-setup/releases/download/v0.3.1/powerloom-snapshotter-cli-linux-amd64
chmod +x powerloom-snapshotter-cli-linux-amd64
sudo mv powerloom-snapshotter-cli-linux-amd64 /usr/local/bin/powerloom-snapshotter-cli
tip

Complete instructions on using pre-built snapshotter CLI binaries are also available in the Snapshotter CLI documentation.

warning

If you are not sure about your platform architecture, such as ARM64 vs x86_64, use the uv package manager with the bundled installer as detailed below to install the CLI.

Option 2: Use the Bundled Installer with uvโ€‹

tip

With this approach, you will always have to cd into the repository directory to run the commands.

Clone the Latest Snapshotter Lite Multi Setup Repositoryโ€‹

git clone https://github.com/powerloom/snapshotter-lite-multi-setup.git dsv-mainnet-snapshotter-lite-multi-setup
cd dsv-mainnet-snapshotter-lite-multi-setup
git checkout master

Run the Bundled Installerโ€‹

Run the following script from within the repository directory to install the snapshotter CLI and its dependencies.

./install-uv.sh

If everything went well, you should see the following output:

๐Ÿš€ Installing Powerloom Snapshotter CLI with uv...

Installing uv...
downloading uv 0.10.2 x86_64-unknown-linux-gnu
no checksums to verify
installing to /root/.local/bin
uv
uvx
everything's installed!

[ . . . more output . . . ]
Installing Powerloom Snapshotter CLI globally...
Installing from source...

Verifying installation...
โœ… Installation successful!
Version: Powerloom Snapshotter CLI version: 0.2.0 (pip)

โœ… Installation complete!

You can now use any of these commands:
powerloom-snapshotter-cli
snapshotter

Try: powerloom-snapshotter-cli --help

To add /root/.local/bin to your PATH, either restart your shell or run:
source /root/.local/bin/env (sh, bash, zsh)
source /root/.local/bin/env.fish (fish)

As the instructions at the end of the output suggest, you can add the ~/.local/bin directory to your PATH by running the following command:

source ~/.local/bin/env

Test the help Commandโ€‹

You can now run the snapshotter CLI commands by prefixing them with powerloom-snapshotter-cli or snapshotter. Try the help command to get started:

powerloom-snapshotter-cli --help
# or
snapshotter --help

You should see output like the following:

 Usage: powerloom-snapshotter-cli [OPTIONS] COMMAND [ARGS]...

Powerloom Snapshotter Node Management CLI


โ•ญโ”€ Options โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ --version Show version and exit. โ”‚
โ”‚ --changelog Show changelog and exit. โ”‚
โ”‚ --help Show this message and exit. โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญโ”€ Commands โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ shell Start an interactive shell session for faster command execution. โ”‚
โ”‚ diagnose Run diagnostics on the system and optionally clean up existing deployments. Use filters to target specific slot IDs, chains, or markets. โ”‚
โ”‚ deploy Deploy snapshotter nodes for specified environment and data markets. โ”‚
โ”‚ configure Configure credentials and settings for a specific chain and market combination. โ”‚
โ”‚ status Show status of deployed snapshotter instances (screen sessions and Docker containers). Optionally filter by environment and/or data market. โ”‚
โ”‚ check Check slot status: compare wallet-owned slots against running containers. โ”‚
โ”‚ list Display available Powerloom chains and their data markets โ”‚
โ”‚ identity Manage chain and market-specific identity configurations via namespaced .env files. โ”‚
โ”‚ profile Manage CLI profiles for different wallet configurations. โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Verify BDS Data Market and DSV Mainnet Are Availableโ€‹

powerloom-snapshotter-cli list
# or from shell mode:
powerloom-snapshotter> list
# or with uv:
uv run powerloom-snapshotter-cli list

You should see output with the BDS Data Market available for DSV Mainnet as BDS_MAINNET_UNISWAPV3.

note

The Blockchain Data Services (BDS) data market is the first one being launched on the Decentralized Sequencer-Validator Mainnet network. This specifically serves close to realtime data on Uniswap V3 pools from Ethereum Mainnet.

๐ŸŒ Available Powerloom Chains
โ””โ”€โ”€ MAINNET (Chain ID: 7869, RPC: https://rpc-v2.powerloom.network)
โ”œโ”€โ”€ BDS_MAINNET_UNISWAPV3 - Source: ETH-MAINNET
โ”‚ โ”œโ”€โ”€ Market Contract: 0x26c44e5CcEB7Fe69Cffc933838CF40286b2dc01a
โ”‚ โ”œโ”€โ”€ Market Protocol State: 0x1d0e010Ff11b781CA1dE34BD25a0037203e25E2a
โ”‚ โ”œโ”€โ”€ P2P mesh (centralized sequencer off)
โ”‚ โ”œโ”€โ”€ Rendezvous: powerloom-dsv-mainnet-bds
โ”‚ โ”œโ”€โ”€ Gossipsub prefix: /powerloom/dsv-mainnet-bds/snapshot-submissions
โ”‚ โ”œโ”€โ”€ Compute: https://github.com/powerloom/snapshotter-computes.git (feat/bds_lite) Commit: 225348c
โ”‚ โ””โ”€โ”€ Config: https://github.com/powerloom/snapshotter-configs.git (feat/bds_lite) Commit: 8b8296b