I don’t think Koinly can handle the scenario outlined below so I’m wondering what the best way to log this into Koinly would be. I’ll attempt to describe this as simply as possible.
There are services that can automatically compound any rewards earned in a liquidity pool so you don’t have to do it manually. Typically this scenario looks like…
- Send some USDT and DAI into a liquidity pool
- Receive liquidity pool tokens (LPT)
- Exchange/swap the LPT for an auto-compounding liquidity pool token (aLPT)
- Deposit aLPT
Wait an amount of time whilst auto-compounding mad gainz
- Release aLPT
- Swap the aLPT back to the LPT
- Remove the liquidity from the LPT
- Receive USDT and DAI with an increased value.
The part I need perspective on is the swap between LPT and aLPT and back again. If I label it as a ‘swap’ then the cost trail seems to work out and any profits when cashing out the LPT are calculated correctly. However reading Koinly’s documentation they say Swaps are meant for something else. The other option is ‘exchange’ but I if I use this, then have to manually put the same cost values into all the exchange transactions (essentially meaning there is no profit or loss - ie: a swap). Doing this is very slow, as Koinly is constantly updating prices once one is changed.
I think how Koinly should actually treat this is to allow multiple levels of liquidity…?
Anyways, there doesn’t seem to be much discussion on this, but it’s fairly common to do this in DeFi. I personally use Pangolin > YieldYak > Pangolin on Avalanche to do this.
Any help would be greatly appreciated.
2 PGL
