How to Solo Bake Tezos
A Step-by-Step Guide


Why is a gym talking about THE TEZOS blockchain?

The quick answer is we're not your conventional gym. By combining state-of-the-art technology with an evidence-based approach to exercise, our clients get measurable results in minimal time while creating an enormous amount of data with every workout.​​

Over the last three-plus years, we've witnessed numerous transformations where clients exercise for less than 45-minutes a week, some as little as 10-minutes a week, and see better results than they ever have.

By using software and analytics to track improvements in strength, intensity, aerobic fitness, body composition, and other KPIs, we've laid the foundation to use science and technology to help combat the current and unsustainable health crisis.

The State of Our Health v3

Where does Tezos fit IN?

From the beginning, the goal for us was more than just being a smartgym with thousands of locations around the world.

Similar to how Audi, BMW, Daimler, and Porsche are exploring the Tezos blockchain for use with autonomous vehicle safety standards, or how the French Army's Cybercrime Division is using it to track judicial costs for operational purposes, we envision a world where your exercise, body composition, wearables, healthcare, and health insurance data can all be connected using the Tezos blockchain.

Our Primary Mission

  • Expand Quantify Fitness around the world through a combination of company-owned locations and franchises.
  • Leverage a data-driven evidenced-based approach to exercise and nutrition that is tailored to each individual to help extend healthspan.
  • Leverage blockchain technology to bring more transparency to healthcare and health insurance in the United States by reducing fraud and waste, with the end goal to make coverage more affordable and prevent bankrupting future generations with out-of-control healthcare costs.


  1. Tezos is designed for safety, open participation, and upgradeability. Other blockchains lack a smooth way to coordinate decisions and upgrades, resulting in splits in the community, network forks, and slower innovation.
  2. Tezos uses formal verification to mathematically prove the correctness of code, prevent bugs, prevent cyber-attacks, and ensure it will behave as intended.
  3. Tezos uses liquid proof-of-stake to secure the network, verify transactions, and distribute rewards. Participants are rewarded based on how many tez they are baking, not based on mining power.
  4. Tezos uses an on-chain self-amending governance process to allow token holders to vote on protocol upgrades without the need to fork. It is the first blockchain to upgrade itself successfully (multiple times now) without requiring a fork.
  5. To ensure the long term stability of the blockchain and the long term trust of businesses that want to build on it, Tezos takes power away from the hands of a small group of developers and puts it in the hands of the global community.
  6. Finally, as of July 31, 2019 the Tezos Foundation had over $650M available to help grow the ecosystem, including issuing grants to ensure the long-term success of Tezos. Committed to operating with the highest degree of integrity, the Tezos Foundation also hired “Big Four” financial firm PriceWaterhouseCoopers to act as an external auditor and examine at the organization’s finances and operations. This was the first time a large-scale blockchain organization has been accepted as an audit client by a Big Four firm. The Tezos Foundation's first Biannual Update can be found here



Tezos already has around 500 baking nodes, which is a lot more than other proof-of-stake blockchains, but increasing the number of nodes helps decentralize and secure the network. Also, by setting up a personal node and solo baking, you can avoid the fees most delegation services charge as well as make sure your vote is included when it comes to protocol upgrades.

Thanks to the help of Jovan Smith from the Tezos community, our founder Josh Jarrett was able to set up his own solo baking node. To pay it forward, Josh put together this step-by-step guide. If you need more support, you can contact Jovan and inquire about his services. The Riot Tezos Discussion Room is also a good place to ask questions.

Baking SETUP

  • Mac with macOS Sierra or later
  • Xcode downloaded and installed from the Apple App Store
  • 8 GBs RAM
  • 100 GB SSD
  • Ledger Nano S
  • Reliable internet connection
  • At least 8,000 XTZ (1 roll) in your wallet linked to your Ledger Nano S

Before getting started, it's important to point out the steps below are based on what we're familiar with and comfortable with. There are other ways to build your Tezos Baking setup using other operating systems like Linux or with third party tools like Kiln. You can research those if that's something you're interested in. Using the Ledger hardware wallet also isn't required but if you don't use one you need to be extremely careful to protect your private keys. This guide assumes you're using a Ledger device.

Tezos Node Setup



To set up your Tezos baking node, copy and paste the red commands below (individually) into Terminal on your Mac


Install Xcode Command Line Tools

xcode-select --install


Setup Root Password

sudo passwd root


Install Homebrew

/usr/bin/ruby -e "$(curl -fsSL"


Install packages needed to build Tezos binaries

brew install wget

brew install git

brew install curl

brew install hg

brew install darcs

brew install luarocks

brew install aacgain

brew install libsodium

brew install unzip

brew install make

brew install gcc

brew install m4

brew install aspcud

brew install bzip2

brew install rsync

brew install pkg-config

brew install hidapi


Opam installation 


You'll have to enter your root password after the next command:

sudo mv opam-2.0.0-x86_64-darwin /usr/local/bin/opam

sudo chmod a+x /usr/local/bin/opam

echo "f25a98ff5a45bd2ad7ce1b9496503c505ca8cd38525dcd11be04b9203e54cbff  /usr/local/bin/opam"|shasum -a 256 -c

opam init --bare

Answer the following prompts with y

Do you want opam to modify ~/.bash_profile? [N/y/f] (default is 'no', use 'f' to choose a different file)

A hook can be added to opam's init scripts to ensure that the shell remains in sync with the opam environment when they are loaded. Set that up? [y/N]

eval $(opam env)

git clone -b mainnet


Build the Tezos Node

cd tezos

make build-deps

eval $(opam env)


./tezos-node identity generate 26.

./tezos-node upgrade storage

./tezos-node run --rpc-addr --no-bootstrap-peers --bootstrap-threshold 14 --connections 14 --peer --peer --peer --peer --peer --peer --peer --peer --peer --peer --peer --peer --peer --peer

Allow Node to Start running for 10-15 minutes until you start seeing blocks being validated, then stop the node by pressing:



Load a snapshot

Instead of waiting for the node to sync from scratch, load a snapshot from a trusted source like

  1. Download the Full mode Snapshot File
  2. Copy the file into the /tezos folder (the /tezos folder can be found in the user account folder of your Mac)
  3. Copy the identity.json and peers.json files in your ./tezos-node folder to your Desktop (the /tezos-node folder is also found in your user account folder but is hidden by default. While in Finder, press shift-command-period to show hidden folders)
  4. Delete your ./tezos-node folder
  5. In Terminal, enter the following command but replace *Blockhash.full* with the name of the file you downloaded in step 1:  ./tezos-node snapshot import *Blockhash*.full
  6. Delete the *Blockhash*.full file after successful import
  7. Copy the identity.json and peers.json from your Desktop back into the new ./tezos-node folder, then delete those backups on your Desktop
  8. Start the Node by entering the following command in Terminal: ./tezos-node run --rpc-addr &


You will need to install Ledger Live from and install the Tezos Wallet app and Tezos Baking app to your Ledger device

  1. While your node continues to run, connect your Ledger Nano S and open the Tezos Wallet App, open a new Terminal tab, and enter: ./tezos-client list connected ledgers
  2. Obsidian Systems recommends using the keys generated with curve ed25519. Copy and run the command that is returned from the previous step that includes ed25519 (you'll need to add ./ in front of the command). You can replace the "ledger_xxxxxxxx" with your own alias name. For this guide we'll use baker1. After running the following command you'll need to confirm the public address on your Ledger. Your command will be different but it should be something like, ./tezos-client import secret key baker1 "ledger://likable-aardvark-leafy-okapi/ed25519/0h/0h"
  3. Once the node is fully synced, run the following command and confirm the operation on your Ledger device to make your account a delegate account: ./tezos-client register key baker1 as delegate


Setup Ledger Baking App

Make sure you have the Tezos Baking app open on your Ledger device 

Change the network id NetXdQprcVkpaWU and block level 648702 to match the most recent block and network id from, then run the command and confirm the operation on your Ledger device

./tezos-client setup ledger to bake for baker1 --main-chain-id NetXdQprcVkpaWU --main-hwm 648702

Where to find the network id and block level on


Running Your Baker

Leave the Ledger connected with the Tezos Baking app running and keep five tabs open in Terminal

Terminal Tabs

  1. You Tezos Node Tab should already be running but if you need to restart it use: ./tezos-node run --rpc-addr &
  2. Baker Tab: ./tezos-baker-005-PsBabyM1 run with local node ~/.tezos-node baker1
  3. Endorser Tab: ./tezos-endorser-005-PsBabyM1 run baker1
  4. Accuser Tab: ./tezos-accuser-005-PsBabyM1 run
  5. Spare Tab to run commands

Right now the current protocol is 005-PsBabyM1. When the protocol gets upgraded, you will replace 005-PsBabyM1 in the commands above.

You can find the new protocol name by entering the following command in the Spare Terminal tab: ls


ALERTS FOR Missed BAKES OR EndorsementS

Use the Tezos Notifier Bot in Telegram to get notified if you miss a bake or endorsement


WEEKLY Maintenance

Use to see when you're scheduled to bake or endorse your next block. You can also install a new app for Apple and Android called BakingBuddy to monitor the status of your baking node.

Take advantage of opportunities when you have a window of time without any blocks to bake or endorse and keep your macOS operating system updated as well as check for any protocol updates. To check for updates use the Spare Terminal tab:

pkill tezos-node

git checkout mainnet && git pull && eval $(opam env) && make build-deps && make

brew upgrade




Your node will only be around 10 GB in the beginning. Over time that will start to grow in size. If you ever need to free up hard drive space you can follow these instructions.

Go to the first Terminal tab where your node is running and copy the latest block string (see below). Replace BL36YwsgJFwcs7LNLnFxUXxip6NhvbMUVzii7yxoUoWvHewGC32 in the command below with that block string and enter it in the Spare Terminal tab:

./tezos-node snapshot export --block BL36YwsgJFwcs7LNLnFxUXxip6NhvbMUVzii7yxoUoWvHewGC32 FILE.full

Wait for the snapshot to finish exporting, then follow the commands below:

pkill tezos-node

brew upgrade

git checkout mainnet && git pull && make build-deps && eval $(opam env) && make

cd ..

mkdir a

cd .tezos-node

Note the section of the next command that you need to replace from your own machine

mv context identity.json peers.json store version.json /Users/"your user account on your machine goes here"/a

cd ..

You will need to enter your root password after the next command
sudo rm -R .tezos-node

cd tezos

./tezos-node snapshot import FILE.full

cd ..

cd a

Note the section of the next command that you need to replace from your own machine

mv identity.json /Users/"your user account on your machine goes here"/.tezos-node

cd ..

cd tezos

You may need to enter your root password after the next command
sudo rm -R FILE.full

cd ..

You may need to enter your root password after the next command
sudo rm -R a

cd tezos




If you've taken the time to get this far and set up your own baker, it only make sense that you'd also participate in Tezos' governance process.

The best place to stay updated on upgrade proposals is at There you can learn what's included in a proposal, follow along with the voting process, as well as participate in community discussions.

The Tezos amendment process begins with the Proposal Period. At the end of the Proposal Period, the network counts the proposal votes. For any proposal to be considered valid, it must have enough upvotes to meet a 5% quorum. If the most upvoted proposal has at least 5% of the number of possible votes supporting it, the proposal proceeds to the Exploration Period. If the 5% quorum is not met, no proposals have been submitted, or there is a tie between proposals, the amendment process resets to a new Proposal Period.

To submit your proposal votes you must be in Tezos Wallet App on your Ledger device

The command to cast your vote during the Proposal Period (you can visit to grab the protocol hash to replace the PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU placeholder below):

./tezos-client submit proposals for baker1 PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU

Next is the Exploration Period, where bakers vote on the top-ranked proposal from the Proposal Period using the ballot operation. Bakers get to vote either "Yay", "Nay", or "Pass" on a specific proposal. "Pass" just means to abstain from voting for or against a proposal. As in the Proposal Period, a baker's vote is based on the number of rolls in its staking balance at the start of the period. If voting participation meets the quorum, and an 80% supermajority of non-abstaining bakers approves, the proposal proceeds to the Testing Period. If the voting participation fails to achieve the quorum or the 80% supermajority is not met, the amendment process restarts to the beginning of the Proposal Period.

If the proposal is approved in the Exploration Period, the Testing Period begins with a testnet fork that runs in parallel to the main network for 48 hours. This Testing Period is used to determine whether a proposal is a worthy amendment to the protocol. The testnet fork ensures the upgrade does not corrupt the blockchain network.

At the end of the Testing Period, the Promotion Period begins. In this period, the network decides whether to adopt the amendment based on off-chain discussions and its behavior during the Testing Period. As in the Exploration Period, bakers submit their votes using the ballot operation, with their votes weighted proportionally to the number of rolls in their staking balance. At the end of the Promotion Period, the network counts the number of votes. If the participation rate reaches the quorum and an 80% supermajority of non-abstaining bakers votes “Yay,” then the proposal is activated as the new mainnet.

During the Exploration Period and Promotion Period you will want to cast your vote (yay, nay, or pass). At a minimum you should submit a Pass vote if you don't feel strongly one way or the other to make sure you are participating in the governance process.

To cast your vote during the Exploration or Promotion Periods (you can visit to grab the protocol hash to replace the PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU placeholder below):

./tezos-client submit ballot for baker1 PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU yay

*sometimes pasting the submit ballot command is finicky. If you have trouble getting your ballot to go through, delete the yay, nay, or pass portion and then re-type it manually. Doing this has worked for me in the past.