The BitShares Blockchain Foundation seeks to provide insight and transparency for the escrow services to create openness and accountability towards the community.

Since we are in the fortunate position to have received sufficient trust from BTS token holders to successfully operate multiple escrow workers, we feel the need to be as transparent as humanly possible to these token holders as to how the funds are used.

Thus, we started working with an accounting system that allows us to

The accounting system is plain-text based and comes with an easier-to-use frontend available at

Plain Text Accounting

After some research, we decided to use a plain text accounting system, in particular, we are using Ledger - the name fits perfectly, and of course the offerec functionality.

You can find the accounting files published on regularly including a quick README that shows how to use these files properly.

Please allow us to briefly go through the tool before we show an overview of the books.

Usage of Ledger-cli

  1. Show balance of all accounts

     ledger -f ledger.ledger balance
  2. Show full register

     ledger -f ledger.ledger register
  3. Show register of an individual account

     ledger -f ledger.ledger register BitShares:BitSharesDAC


In double-entry accounting systems, each transaction affects at least two accounts in a way that the amounts sum to zero. This means that “funds move from one account to another” while the transactions of a particular account are the actual register. This will become more clear when we go into details of the foundation’s accounting.

BitShares Blockchain Foundation Accounting

Account Hierarchy

Let us start with first describing what accounts we are looking into and what the hierarchy of accounts looks like:

BitSharesFoundation                  # Accounts controlled by the foundation             # account ``   # account ``
BitSharesDAC                         # accounts joitnly owned by the BTS token holders (ultimately)     # account ``
BitSharesReserves                    # Funds obtained from the reserves (in BTS)
Income                               # Income for the BitShares Blockchain Foundation
    Donations                        # How much did people donate (in USD terms)
Expenses                             # Expenses       
    TransactionFees                  # How much did we pay the network in transaction fees (in USD)
WorkerProposals                      # Worker Proposal accounts
    Outstanding                      # How much do we "owe" escrow workers in total
    Proposals                        # How much have the workers been asking for initially

This hierarchy may be subject to change as we find more efficient ways to organize and use individual accounts.

Escrow Worker Procedure

The procedure of dealing with a worker proposal and its payment (if the BTS holders approve the worker) is as follows.

  1. The worker pay is obtained through the account which has created the workers on the blockchain to begin with.
  2. Then, the BTS are traded into USD in that account.
  3. Afterwards, USD are transferred into escrow by
  4. Freelancers that applied for the worker/job get paid through with bitUSD (or possibly other bitassets)

It is important to remark that funds that are in are owned by the BTS holders and not technically owned by the foundation.

In order to keep track of which worker has obtained how many BTS (in the account), we make use of sub accounts where possible (see below). These sub accounts only appear in the accounting and are not reflected on the blockchain. After a worker has complete, we will thus be able to directly say how many BTS have been obtained from reserves, how many have been used to obtain USD and how many are to be returned to the reserves.

Foundation Accounts

With the help of ledger we can give a quick summary of the accounting and individual balances. Let’s dig into this real quick (state of 2017/09/29):

     1       3,000 BEYONDBIT
     2      13,196.23774 BTS
     3           20.0000 CNY
     4       23,400.0000 USD  BitSharesFoundation
     5       3,196.23774 BTS
     6       23,400.0000 USD
     7       23,000.0000 USD      201707-bsip18
     8          -0.23131 BTS
     9          400.0000 USD      201708-bitsharesui
    10       3,000 BEYONDBIT
    11      10,000.00000 BTS
    12           20.0000 CNY
    13  -1,099,749.76262 BTS  BitSharesReserves
    14    -469,333.09938 BTS    201707-bsip18
    15    -599,666.66324 BTS    201708-bitsharesui
    16     -30,750.00000 BTS    201709-steemfest
    17     578,259.29542 BTS
    18        4,219.2236 USD
    19     261,718.25619 BTS
    20          421.0994 USD    201707-bsip18
    21     282,879.53812 BTS
    22        3,798.1242 USD    201708-bitsharesui
    23      30,118.73689 BTS    201709-steemfest
    24          438.6994 USD  Expenses:TransactionFees
    25      -3,000 BEYONDBIT
    26     -10,000.00000 BTS
    27          -20.0000 CNY
    28       -1,000.0000 USD  Income:Donations
    29       26,812.5000 USD  WorkerProposals
    30     -152,853.5000 USD    Outstanding
    31      -23,000.0000 USD      201707-bsip18
    32       -4,000.0000 USD        chainsquad
    33      -19,000.0000 USD        cyrano
    34     -123,187.5000 USD      201708-bitsharesui
    35     -108,187.5000 USD        bitshares-ui
    36      -15,000.0000 USD        chainsquad
    37       -6,666.0000 USD      201709-steemfest:roelandp
    38      179,666.0000 USD    Proposals
    39       23,000.0000 USD      201707-bsip18
    40      150,000.0000 USD      201708-bitsharesui
    41        6,666.0000 USD      201709-steemfest
    42  --------------------
    43    -518,294.22946 BTS
    44       53,870.4230 USD

Individual Trades

Currently, the worker account only obtains USD by buying them from the internal markets. These orders are recorded on the blockchain as well as in the off-chain books. These entries look like this:

2017/09/13 * Create Order for 201707-bsip18 into USD @ 10.434788520 BTS/USD
    ; 201707-bsip18        -50000.0 BTS @ 10.43479 BTS
    ; 201707-bsip18        4791.66395 USD        -0.01213 BTS @ 0.1092 USD
    Transactionfee        (0.01213 * 0.1092 USD)

P 2017/09/13 USD 9.69688187 BTS
2017/09/13 * Trade (#20011420)      -209.10550 BTS      21.5642 USD @@ 209.10550 BTS

Here, we created an order and payed a fee of 0.01213 BTS. Later on, this order is partially filled, obtaining roughly 21 USD by paying 209 BTS. There are plenty of those fill order transactions in each of the workers’ individual ledger files.

The corresponding account’s registers can be obtained with

ledger -f ledger.ledger reg

and looks like this

2017/09/13 Create Order for 201707-bsip18 into USD @ 10.434788520 BT..                             -0.01213 BTS                   273,166.59654 BTS
                                                                                                                                                                                                       409.5059 USD
2017/09/13 Trade (#20011420)                                                            -209.10550 BTS                   272,957.49104 BTS
                                                                                                                                                                                                       409.5059 USD
                                                                                           21.5642 USD                   272,957.49104 BTS
                                                                                                                                                                                                       431.0701 USD

Moving those funds into escrow is done with an entry of this type:

2017/09/13 * Transfering to 201707-bsip18        -5000.0 USD        5000.0 USD        -0.23131 BTS @ 0.1095 USD
    Transactionfee        (0.23131 * 0.1095 USD)

and results in a register entry similar to:

2017/09/13 Transfering to 201707-bsip18                           -5,000.0000 USD                   223,166.59654 BTS
                                                                                                                                                                                                       269.9826 USD
                                                                                          -0.23131 BTS                   223,166.36523 BTS
                                                                                                                                                                                                       269.9826 USD

As you can see, every action on the blockchain that affects the accounts balance, is also recorded in our books.

Further Remarks

We would like to highlight a few points in what we were able to achieve in recent months:

Automation and Management

To facilitate the technical management of workers as well as automating as much as possible the escrow system has an elaborate backend available which was initially developed by ChainSquad GmbH. These tools are continuously maintained and expanded to allow the escrow backend to evolve to an even more transparent system.

Review and Code Audits

Additionally to management tools, the code produced by freelancers needs to be reviewed by 3rd parties before funds can be released. This ensures that the produced code fits into the high quality standards of the existing code base. It is our wish to be able to hand over the work of auditing code to more and more entities (companies and individual high-profile developers) to grow the knowledge of the underlying technology. Hence, if you have a profile of providing excellent code review and have experience in the Graphene library, you may want to contact the BitShares Blockchain Foundation to become one of the reviewers.

Final Words

The BitShares Blockchain Foundation seeks to ensure the highest standards in transparency and accountability. We feel the deep desire to support the BitShares community and ensure that uncertainties that appear are covered and resolved as quickly as possible.

Further, we hope that we can continue to grow our reputation within the BTS holders and the whole community to receive sufficient trust to do what we are planning to do with BitShares.

If you want to support our efforts, please don’t hesitate to get in contact with us ( or donate to We would like to emphasise that the BitShares Blockchain Foundation is a registered non-profit entity in the Netherlands which means that all funds donated will need to go into following our foundations’ goals: Growing BitShares.

Fork me on GitHub