The Central Bank of Brazil Source code Last week, its CBDC was published on GitHub, allowing the public to conduct audits of the system’s code.

Developers soon discovered related features in the source code of the Brazilian CBDC pilot, such as mechanisms to control individual wallets and their holdings.

About functions

Developers immediately started analyzing the code and found that smart contracts contained administrative functions called “access controls” that central banks could share with trusted entities.

Access control in this context works like administrator rights and privileges on a computer network. Its main purpose is to allow a trusted entity to generate and write her CBDC tokens at any address in the system.

Full-stack developer Pedro Magalhães reverse-engineered the code and discovered a number of related functions that could be performed by entities with access control privileges.

This includes freezing and unfreezing wallets. Increase or decrease frozen funds. Move funds from one address to another. Pause withdrawals and transfers.

Magalhães shared a list of functions.

“- disableAccount: Disable the account allowed to transfer tokens.
–enableAccount: Enable token transfer for a previously disabled account.
– Increase FrozenBalance: Increases the frozen balance of the wallet address.
– Decrease FrozenBalance: Decrease the frozen balance of the wallet address.
– transfer: Overrides the ERC20 transfer function to include account status checks and frozen balances.
– transferFrom: Overrides the ERC20 transferFrom function to include account status checks and frozen balances.
– mint: Create a new Real Digital token at the specified address.
– Burn: Burn (destroy) a specified amount of Real Digital Tokens.
– Pause: Pause the token transfer.
– Unpause: Resume the token transfer.
– frozenBalanceOf: Get the frozen balance of a wallet address.
authorizedAccount: Checks if the account is authorized for token transfer.
– Transfer: Transfer tokens from one wallet to another.
– moveAndBurn: Transfer and burn tokens from wallet.
– burnFrom: Burn the token from the specified account.

The Central Bank of Brazil has confirmed that the code for the CBDC test version includes these features. However, it is not clear if these features will also be present in the final version or only for testing purposes.

The Observatory told local media that such features already exist in the traditional financial system in some form to combat illicit financial activities, and that their use is heavily regulated by the government.


The cryptocurrency sector has consistently expressed concerns that CBDCs could limit economic freedom by potentially restricting participation in the financial system. Some argue that governments that overtly control personal finances in this way cannot be trusted, and that financial privacy is a basic human right.

Brazil’s CBDC pilot includes some of the very features that privacy advocates have warned about and are recognized by the community as a cause for immediate concern.

Famous whistleblower Edward Snowden has long warned of the risks of CBDC becoming a “policy tool.” In a recent interview, he said CBDC is a “crypto-fascist currency” that could “annihilate” the savings of the average wage earner.

Many U.S. lawmakers share these concerns and are working on ways to try to block the development of CBDCs in the country. The Fed has publicly said it has no intention of developing a CBDC as the current system has already reached the level of domestic trading.

However, the UK and most European countries do not share these ideas and are in various stages of developing their own CBDCs.

The Brazilian CBDC post-pilot source code includes methods to freeze and eject wallets that first appeared in CryptoSlate.

By Jules

Leave a Reply