The world of web 3 is full of exciting new opportunities — but it also comes with its fair share of challenges. For founders and accountants, one of the biggest challenges is keeping track of all the different tokens and assets. In this blog post, we’ll explore some of the unique accounting challenges that come with web 3.0, and offer some tips on how to keep everything straight.
Unlike traditional web2 transactions, Web3 transactions take place across multiple currencies and protocols that operate very differently to their web2 counterparts. Accountants and Finance controllers working with web3 organisations need to be cognizant of these differences and have solutions in place for proper accounting.
We list out some of the challenges (non-exhaustive) that professionals need to be aware of when it comes to web3 accounting:
Transactions in different wallets across chains can make bookkeeping a challenge. To track the transaction in each chain we have to use different block trackers. In any block tracker, there are applications that allow us to examine the transactional activity of a particular chain, for example Etherscan for the Ethereum blockchain. The transaction also needs to be recorded and classified so it can be properly accounted for.
When it comes to cryptocurrency, there are different fees involved in the process. This can include gas fees and exchange fees. Gas fees can sometimes get overlooked, especially in multi-sig transactions where they get charged to the signing wallets. Wallets hosted on centralised exchanges will need separate integrations to pull the transaction information and exchange costs. Most exchanges provide APIs or a CSV extract to pull this information.
Another thing to keep in mind especially if transacting in multiple crypto-currencies other than your base currency/token is that every transaction will have an associated gain or loss that has to be calculated using an appropriate cost basis (more on this below).
When you sell a crypto asset (or even transact in one), you need to calculate your capital gain or loss. To do this, you need to know your cost basis — the original purchase price when you acquired the crypto asset.
Your cost basis includes:
- The purchase price of the asset
- Any fees or commissions paid to acquire the asset
The formula for calculating the gain/loss is:
Sale price (Fair Market Value) — Cost = Gain/Loss
Calculating the cost basis is pretty straight forward but the problem arises when purchasing multiple units of a crypto asset at different times at different prices.
There are tax advantages for showing a larger capital loss, but there are also legal ramifications for minimising capital gain. So which method to pick?
The three most common methods used to calculate Cost Basis are:
- First In First Out (FIFO)
- Last In First Out (LIFO)
- Highest In First Out (HIFO)
- Weighted Average Cost (WAC)
Let’s take a look at each method.
FIFO (First in First Out): The FIFO method is the most intuitive of the bunch. You simply treat the units of a crypto asset acquired first as being sold first.
LIFO (Last in First Out): The LIFO method disposes of the latest units purchased first.
HIFO (Highest in First Out): The HIFO method takes the highest unit cost first, and is used to maximise initial capital losses (and therefore minimise tax).
WAC (Weighted Average Cost): The weighted average cost basis is a bit more complicated to calculate but it can be useful in some situations. Essentially, it takes into account all of the different purchase prices and weights them according to how many units were purchased at each price.
Let’s take an example
You’ve purchased 2 BTC for $20,000 on October 1st and another BTC for $15,000 on November 1st.
If you sell the one the BTC for $10,000 on 1st December. What is the loss?
There are a few things to consider when it comes to pricing in the cryptocurrency world. Because of the volatility of cryptocurrencies, it is extremely important to record the correct price for each transaction. But where do we find these prices, and which interval is right for your company? Do you take the daily average or do you take the price at the exact second the transaction happens? It is important for companies to record the cost of the transaction in a consistent way.
Historical cryptocurrency pricing data is difficult to get (especially at a granular level), this is a big issue for businesses that have not documented the price of the transactions on an ongoing basis. There are data aggregators in place to solve this issue, some popular data aggregators are CoinGecko, CoinMarketcap and Chainlink. These websites provide hourly or daily pricing for up to six months, some even up to a year (although the further back you go, the more it costs to get the data).
The level of detail you need for your company will determine the best interval to use. If you only want a general idea of what the price was, then go with the daily average. But if exact pricing at the time of transaction is essential, select that specific time. If a high volume of transactions is executed — say 50 or more in one day- this means a daily average price would be acceptable but if there are a few transactions carried out, accuracy forms paramount and thus should be chosen over other pricing intervals.
It is important for companies to document the cost of their transactions in a consistent way, in order to avoid any potential issues down the line. By sourcing your data from a reliable data aggregator, you can be sure that you are getting accurate and up-to-date information. Be sure to check with your CPA for the exact laws surrounding the pricing intervals in the country you operate from.
These are some basic points to keep in mind when it comes to crypto accounting. There are additional concepts that people need to be aware of including DeFi Accounting and Accrual based accounting that we will address in part 2.
Disclaimer: This article is not intended as legal or compliance advice, and we recommend you to get in touch with a certified accountant for any advice.