Announcing Tezos Batch Payments!

To our fellow bakers, we have some exciting news! For the past few months, we at Figment have worked hard to set up a secure and scalable infrastructure for our delegators. After having spoken with many other leading bakers and hearing feedback from the general Tezos community, we have decided to open source our reward distribution system. Managing reward distribution manually is both time consuming and very error prone causing delays and potential distrust among the delegator community when mistakes occur.

While the Tezos protocol is decentralized, bakers, for the most part, operate their own proprietary technology stacks. From building our own baking operations, we feel there are certain core elements of our stack and of the baking process that we’d like to share with the broader community. As a side note, if you’re looking to understand the economics of Tezos baking, read our previous post here.

Without further ado, here is the code to our XTZ distribution system: https://github.com/figment-networks/tezos-batch-payments. Note that although it was made with reward distribution in mind, the system can actually be used for any batch XTZ distribution as well. Leave us a note below on how you’re using it!

Here are a few highlights of what’s under the hood:

  • Security: XTZ distribution is handled with the creation of a ‘burner’ XTZ account so that the main baking account is not directly used for distributing XTZ. The distribution server just needs the ‘burner’ private keys and never needs to have access to the baking account’s private keys. In addition, the total XTZ on the distribution server is limited to the amount in the ‘burner’ account.
  • Error Checking and Simulation: XTZ distribution is simulated and verified for erroneous transactions prior to actual distribution.
  • Configurable: The source code is modularized for ease of configurability and extensibility.

Have any suggestions or feedback (or perhaps a high five)? Leave us a comment below!