BounceBit Documentation
HomepagePortalBounceClub
  • 🔳Welcome to BounceBit
    • BounceBit's Philosophy
    • Challenges Addressed By BounceBit
    • BounceClub: Build on BounceBit
  • CeDeFi
    • 🏦BounceBit CeFi + DeFi
      • Infrastructure
      • Yield Structure
    • 📊CeDeFi Yield
      • Funding Rate Arbitrage
      • Fixed
      • Auto
      • Manual
      • Integration of Node Staking Rewards
      • Rebasing Mechanism
      • Asset Manager Directory
    • 🌎RWA (Real World Assets)
      • RWA in Yield Generation
      • RWA on BounceBit Chain
    • Subscription & Redemption Rules
      • Auto & Manual
      • Fixed
    • Security Risk Management
    • dApp
      • ⚡Superfast
      • Ethena <> BounceBit
      • Convert
  • Infrastructure
    • ⛓️BounceBit PoS Chain
      • Dual-Token Staking Consensus
      • EVM Compatibility and Developer Support
    • 🔐Shared Security Clients
    • 🌉BTC Bridge
    • 🔮Oracle
      • Price Feed On-chain
      • Price Feed Off-chain
      • Data Feed Addresses
    • 💽Ecosystem Integrations
  • ♣️BounceClub
    • Intro
    • 🫂BounceClub Membership
    • MEME
    • Quanto
    • AI Agents
  • Token
    • 🏦BounceBit Tokenomics
      • Key Terms
      • 🪙BB Coin
      • Liquid Staking Token (stBBTC & stBB)
      • Bitcoin on BounceBit (BBTC)
      • Stablecoins on BounceBit (BBUSD)
    • 🧱Staking Delegation
    • 💧Liquid Staking
    • 📤Liquid Custody
    • 🍞Bread and Butter (BB Cross-chain Liquidity)
  • User Guides
    • General
      • How to Get BTCB from Binance
        • How to Transfer BTCB to your Binance Web3 Wallet
      • How to Use the Testnet Faucet
      • How to Add BounceBit Network to Your Wallet
    • 🌉Bridging
      • Portal Bridge
      • MultiBit Bridge
    • BounceClub V2
      • How to Launch a Memecoin
      • Arcade
      • DeFi
        • Quanto
        • Stablecoin
      • AI Agents
    • 📊CeDeFi
      • How to Withdraw/Redeem Your LCT
      • How to Subscribe to CeDeFi (V2)
      • How to Unsubscribe from CeDeFi (V2)
      • How to Wrap / How to get BBTC, BBUSD
      • Ethena <> BounceBit
      • Superfast Trading Guide
    • 💠Node Staking and Delegation
      • How to Stake/Unstake on Portal
      • How to Stake/Unstake BB and BBTC (Delegation)
  • Assets
    • 🪪Brand Guidelines
      • 🎨Logo Kit
    • ✅BounceBit's TVL
    • ✅Smart Contract Audit Report
    • First BounceBit's BTC TVL Audit Report
  • Developer Resources
    • BounceBit Mainnet Node Setup
      • Cosmovisor
    • Chain Info
    • RPC Support
    • How to Verify Smart Contracts
    • How to Withdraw Validator Commission
  • OTHER
    • 🌐BounceBit Official Social Media Channels
    • Terms of Use
    • Privacy Policy
Powered by GitBook
On this page
  • Mainnet Latest Version
  • Mainnet Deployment Guide
  • 🌈 Download Latest Version bbcored
  • Init Bouncebit Mainnet Network
  • 🖇️ Download Mainnet Network_files
  • Update seeds ( Required )
  • Config ( Optional )
  • 🌈 Download Latest Version snapshot
  • Monitoring
  1. Developer Resources

BounceBit Mainnet Node Setup

PreviousFirst BounceBit's BTC TVL Audit ReportNextCosmovisor

Last updated 1 month ago

Deployment Guides (Just refer to the testnet)

Testnet Snapshot 2025-03-12

Mainnet Snapshot 2025-04-11

Mainnet Configuration Spec

💡 Mainnet

Chain-id bouncebit_6001-1

Fullnode Endpoint https://fullnode-mainnet.bouncebitapi.com

Latest Snapshot echo "https://snapshots.bouncebit.io/bouncebit_archive_snapshot_$(curl -s https://snapshots.bouncebit.io/latest).tar.zst"

Mainnet Latest Version

v1.6.1

docker pull bouncebit/bouncebit-node:v1.6.1

v1.5.4

docker pull bouncebit/bouncebit-node:v1.5.4

DO NOT UPGRADE TO V1.5.3

v1.5.2

docker pull bouncebit/bouncebit-node:v1.5.2

Mainnet Deployment Guide

Preparation

Create workspace directory

cd $WORKSPACE
mkdir -p bouncebit/bin
mkdir -p bouncebit/config

Create work user

sudo groupadd -r -g 979 bouncebit
sudo useradd -m -u 979 -g 979 --system -s /sbin/nologin -d /var/lib/bouncebit bouncebit
sudo mkdir /etc/bouncebit && sudo chown bouncebit:bouncebit /etc/bouncebit

sudo tee /etc/bouncebit/bbcored.env <<EOF
GOGC=75
EOF

## rm old node key
sudo rm /data/bouncebit/config/node_key.json

🌈 Download Latest Version bbcored

curl -OL https://github.com/BounceBit-Labs/node/releases/download/v1.5.4/bbcored

tar zxf bbcored.tgz -C bouncebit/bin
sha256sum bbcored

chmod +x bbcored

ln -s $WORKSPACE/bin/bbcored /usr/local/bin/bbcored 
# or
# sudo cp bbcored /usr/local/bin/bbcored 

Init Bouncebit Mainnet Network

cd $WORKSPACE
bbcored init [moniker] -o --chain-id bouncebit_6001-1 --home $WORKSPACE

🖇️ Download Mainnet Network_files

Mainnet configuration files can be downloaded from here 👇

Unzip mainnet-config-files.zip

And move the downloaded file to the following path.

config/app.toml
config/client.toml
config/config.toml
config/genesis.json

Update seeds ( Required )

config.toml

[p2p]

seeds = "[email protected]:26656,[email protected]:26656"

Config ( Optional )

If you want to run an archived node , we recommend simply using the following settings.

app.toml

pruning = "nothing"

config.toml

indexer = "kv"

If you are running as a validator and seeking to save disk space, we recommend simply using the following settings.

app.toml

pruning = "custom"

# These are applied if and only if the pruning strategy is custom.
pruning-keep-recent = "100"
pruning-interval = "10"

config.toml

indexer = "null"

🌈 Download Latest Version snapshot

Download and check snapshot file

wget -c -O bouncebit_archive_snapshot.tar.zst -c https://snapshots.bouncebit.io/bouncebit_archive_snapshot_$(curl -s https://snapshots.bouncebit.io/latest>).tar.zst
wget -c -O bouncebit_archive_snapshot.tar.zst.sha256 -c https://snapshots.bouncebit.io/bouncebit_archive_snapshot_$(curl -s https://snapshots.bouncebit.io/latest>).tar.zst.sha256

# check sha256
sha256sum -c bouncebit_archive_snapshot.tar.zst.sha256

sudo -u bouncebit bash -c "tar --use-compress-program=zstd -xvf bouncebit_archive_snapshot.tar.zst -C /data/bouncebit"

Show the $WORKSPACE

├── bin
│   ├── bbcored
│   └── checksum.txt
├── config
│   ├── addrbook.json
│   ├── app.toml
│   ├── client.toml
│   ├── config.toml
│   ├── genesis.json
│   ├── node_key.json
│   └── priv_validator_key.json
└── data
    ├── application.db
    ├── blockstore.db
    ├── cs.wal
    ├── evidence.db
    ├── evmindexer.db
    ├── priv_validator_state.json
    ├── snapshots
    ├── state.db
    └── tx_index.db

Running Node via systemd

We recommend using Systemd to manage Bouncebit service and check logs.

Setting up systemd unit file

You can create a Systemd unit file at the following location /etc/systemd/system/bouncebit.service:

sudo tee /etc/systemd/system/bouncebit.service <<EOF
[Unit]
Description=bouncebit node daemon
After=network-online.target
Wants=network-online.target data.mount
Requires=data.mount

[Service]
ExecStart=/usr/local/bin/bbcored start \\
    --log_format=json \\
    --log_level=info \\
    --home=/data/bouncebit

Type=simple
Restart=on-failure
KillMode=process
KillSignal=SIGINT
TimeoutStartSec=infinity
TimeoutStopSec=600
User=bouncebit
Group=bouncebit
CPUSchedulingPolicy=batch

LimitNOFILE=524288
LimitNPROC=16384
MemoryMax=27G

WorkingDirectory=/data/bouncebit
EnvironmentFile=-/etc/bouncebit/bbcored.env

# /run/bouncebit
RuntimeDirectory=bouncebit
RuntimeDirectoryMode=0700

# /etc/bouncebit
ConfigurationDirectory=bouncebit
ConfigurationDirectoryMode=0755

# /var/lib/bouncebit
StateDirectory=bitcoind
StateDirectoryMode=0710

SyslogIdentifier=bbcored

# Provide a private /tmp and /var/tmp.
PrivateTmp=true

# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full

# Deny access to /home, /root and /run/user
ProtectHome=true

# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true

# Use a new /dev namespace only populated with API pseudo devices
# such as /dev/null, /dev/zero and /dev/random.
PrivateDevices=true

# Deny the creation of writable and executable memory mappings.
MemoryDenyWriteExecute=true

[Install]
WantedBy=multi-user.target
EOF

Start the service

systemctl daemon-reload
systemctl start bouncebit.service
systemctl enable bouncebit.service

View logs

journalctl -o cat -f -u bouncebit

Monitoring

Monitor your Full node using the instructions at Logging, Tracing, Metrics, and Observability.

The default metrics port is 26660. To change the port, edit your config/config.toml file.

prometheus = true

# Address to listen for Prometheus collector(s) connections
prometheus_listen_addr = ":26660"
Run a Full Node
Become a Validator
https://snapshots.bouncebit.io/bouncebit_testnet_snapshot_2025-03-12T06_28_37-UTC.tar.zst
https://snapshots.bouncebit.io/bouncebit_archive_snapshot_2025-04-11T00_01_27-UTC.tar.zst
30MB
bbcored_v1.6.1.tgz
29MB
bbcored_v1.5.4.tgz
29MB
bbcored_v1.5.2.tgz
18KB
mainnet-config-files.zip
archive