Accounting for LP tokens on Aave
gm frens 👋
Today we are going to hash the accounting for LP tokens and interest received from supplying assets on Aave.
This article addresses:
- What is Aave?
- General accounting treatments for digital assets.
- Depositing tokens into a liquidity pool and the accounting treatments.
- Receiving and accounting for interest
- Closing an LP position and accounting treatments
What is Aave? 💭
Well, in their own words:
Aave is a decentralized non-custodial liquidity market protocol where users can participate as suppliers or borrowers. Suppliers provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an over collateralised (perpetually) or undercollateralised (one-block liquidity) fashion.
In simple terms, Aave allows businesses and investors to supply their digital assets to the protocol, who lends them out and the users are then rewarded with interest in the form of tokens until they withdraw them.
TL:DR of Accounting treatments for digital assets 📝
There are various ways in which digital assets and tokens can be recognized, this being dependent on the business and how they obtain and use these assets.
The various ways one could recognize digital assets in terms of accounting treatment include; intangible assets, inventory (IFRS only), and financial assets.
Due to the most common use cases in the space of digital assets, the article evaluates the accounting for LP tokens on Aave from most companies, namely as intangible assets or inventory.
This would require the tracking of the cost basis of the assets according to the company’s accounting policy. The cost basis is simply the original price paid for the assets, such as WAC (weighted-average cost), FIFO, LIFO, and HIFO, for the assets being supplied as well as the LP tokens received.
Depositing USDC on Polygon and Receiving the LP Token aPolUSDC ▶️
An LP token acts as a receipt for the liquidity provider, and essentially provides a claim to the amount deposited and interest earned.
To start depositing your assets to Aave and receiving your LP tokens, follow these steps:
- On Aave, connect your wallet to the app. You can make use of various browser wallets as shown below.
- Browse to the "Supply" section and click on "Supply" for the asset you want to provide and earn interest on.
- Select the amount you'd like to supply and submit your transaction.
- Should this be the first time you are interacting with this wallet and asset on Aave, the wallet might ask you to review your spending limit. It is good practice to limit the amount that the site can spend to the amount of your intended transaction for protection purposes.
- Once the transaction is confirmed, your supply is successfully registered and you start earning interest.
For the purposes of this example, we have used USDC on the Polygon chain with a MetaMask wallet and supplied the liquidity for a short period (hence the LP token aPolUSDC)
Accounting treatment at the time of deposit
An important distinction is that the token supplied (USDC) is treated as a separate asset from the LP token received (aPolUSDC). This is because there are instances where you can transact with this LP token itself. Therefore, the LP token would have its own cost basis calculation which might differ in value to the supplied asset.
The USDC would be derecognized at the cost value at the time of the transaction with their being a realized gain/loss as compared to the fair value of the LP token received.
The LP token received would be incoming at fair value for the purposes of measuring the cost basis for that asset. This would also be held as an asset on the balance sheet should this run over year-end.
The gas fees paid would also need to be recorded. The cost basis of the MATIC token would be derecognized and compared to the fair value of MATIC token at the time of transaction with there being a realized gain/loss on the gas as well. (note that this is an insignificant amount on Polygon chain)
Example of journal entries:
- Dr aPolUSDC @fair value
- Cr USDC @cost
- Dr/Cr Realised gain/loss
- Dr Gas fees @fair value
- Cr Network Token @cost (MATIC token)
- Dr/Cr Realised gain/loss
Note: Since traditional accounting softwares do not cater for digital assets, the use of sub-ledgers such as TRES, Cryptoworth, Bitwave, Cryptio, Consola Finance, amongst others is recommended for accounting of digital assets. These tools enable tracking and reconciling the transactions from the block explorers.
Receiving and accounting for interest 🫰
Interest in the form of the LP token (aPolUSDC) would be automatically added to your wallet on a continuous basis and you would be able to see the growth of this asset over time.
The increase should be measured at fair value for the purposes of tracking the cost of the asset.
Example of journal entries to account for accrued interest (An increase in the LP token):
- Dr LP token - @fair value
- Cr Interest income @fair value
It is an important aspect to keep in mind when there are LP positions at year-end as one would need to account for the additional interest income earned, even if the LP position has not yet been closed.
Below is the analysis of the example transaction and the balances of the LP token over time from Polygonscan, the block explorer on Polygon The block explorers for the various chains and networks are good sources for tracking on-chain data. This way, the increase in LP Token (aPolUSDC) for interest income can be calculated and recognized at an average price over the period from a reliable pricing source.
Closing Position, receiving USDC and Accounting Treatment ◀️
To close your LP position, and realize the interest income, follow these steps:
- To withdraw you need to go to the "Dashboard" section and click on “Withdraw”. Select the amount to withdraw and submit the transaction. Note that you can use your ‘aTokens’ (aPolUSDC) as liquidity without withdrawing.
- Make sure there is enough liquidity (not borrowed) in order to withdraw, as you would otherwise need to wait for more liquidity from borrowers.
- Approve the transaction in your wallet, for example MetaMask.
This would then mean that the new and higher balance of the aPolUSDC would be exchanged to USDC on a 1:1 basis, resulting in the wallet receiving more USDC than initially supplied being the interest income.
Accounting Treatment when Closing LP Position
Keeping in mind the LP token (aPolUSDC) and token (USDC) are treated as separate assets, the LP token then would need to be derecognized at the cost value and the token received recognized at the fair value at the time of the transaction for the purposes of tracking the cost basis of the token.
The gas fees paid would also need to be recorded as mentioned above.
Example of journal entries:
- Dr USDC @fair value
- Cr LP Token @cost
- Dr/Cr Realised gain/loss
- Dr Gas fee @fair value
- Cr Network Token @cost (MATIC token)
- Dr/Cr Realised gain/loss
Achievement unlocked 😎
Congrats, you have just learned how to deposit your digital assets into a decentralized lending protocol like Aave and confidently account for your LP tokens and interest earned, allowing you to maximize yield on your idle digital assets.
Umar, a Chartered Accountant and previous External Auditor at Deloitte & BDO, is the creator of The Accountant Quits.
By educating accountants about crypto accounting, Umar aims to help accountants upskill themselves for new career opportunities in Web3.