Please update KOINLY with a proper Liquidity Pool in/out routine!

It’d be great for the Koinly team to chime in on this, something like ‘we are very aware of this issue and have been wrecking our heads to come up with a great solution’ or ‘you know what? that stuff is faaaaaaar down on our list of things to do’

I don’t want to do all this labor and spend precious time sorting this out now manually when the solution is maybe just around the corner…

anything, really would be very much appreciated


To add on to this topic, something that would really help with marking pools, would be to go to a liquidity transaction, and mark it send to pool/withdraw from pool, and ALSO allow Koinly to automatically mark all the same contract method calls on that contract, as the same type. Because, obviously they are the same type.

1 Like

tbh, I DARE the tax people to do an audit of anyone swapping and staking in the Defi space. Don’t get me wrong, happy to pay the taxes, but if Koinly doesn’t get it right (which it obviously doesn’t so many times) I doubt that the IRS people will be able to follow through on hundreds and hundreds of transactions and swaps

All good points here.

DeFi is very much a work in progress at this time and there will be updates to both the UI and the tracking of staked/LP assets this year. One of the upcoming features is the ability to merge a lot of different kinds of transactions manually, including liquidity transactions, so that should make things easier. We don’t want users to have to do these things manually though so our focus is on tuning the algorithms.


Please add support for ShibaSwap.

So… after all that and, feature changes aside, what exactly is the current best method (workaround?) for handling liquidity pools? What happens when I send two different tokens to a pool, and get two different quantities back due to impermanent loss and price changes?

Are users just creating a manual trade between the two tokens to account for the difference (as if one is being disposed of for the other?).

What does marking ‘sent to pool’ and ‘received from pool’ actually do when you are getting two different quantities out of the pool than were put in?


I’d like to know about what actually happens with sent to and from pool.
I’ve got almost all of my transactions sorted ready for Australia reporting, but the liquidity pool transactions are my only sticking point.

I put in 5X and 20Y, and get 7X and 15Y back and it tells me there is a missing purchase of the extra 2X.
Should I make a manual trade transaction of the loss to the gain of the X and Y tokens?


Hey Robin, if you need some examples for tuning your algorithms, I’d be happy to share one of my liquidity pool transaction with that didn’t get detected by Koinly.

Seems like a textbook example to train your algos: a popular DEX on Ethereum, involving a pair of tokens out and an LP token returned.

It is becoming a little tedious having to post here every time, but do I have to do anything to these (and if so what exactly)?

t’s a ‘2 tokens into a pool’ standard procedure (from my user’s perspective.

  1. Can I merge any of those?
  2. Where do I find the value for the ‘missing market price’
  3. Do any of these have to be marked as ‘Sent to Pool’? (I am guessingm the last/top one does,)
  4. When can we expect a solution for this dilemma?
1 Like

Gonna take a crack at it:

  1. You should be able to merge the 2 costs.
  2. You can’t, which is super annoying. You can manually enter a value or take the cost basis which was calculated for you which will help you determine your portfolio cost basis, but until/when/if the LP token is tracked, you can’t track this towards your current portfolio value.
  3. Correct, the final withdrawal should be marked “Sent to Pool”
  4. +1 on this lol.
1 Like

I took this approach. Please correct me if it’s the wrong way about doing it for Tax

$100 Anc-UST LP as example

  1. Create custom wallet ANC-UST LP
  2. Transfer $50 of ANC and UST from luna wallet.
  3. Mark as sent to pool and select “ANC-UST LP” wallet.
  4. Declare any rewards claim on your LUNA wallet.
  5. When you want to take it out of LP create a trade transaction (swap) for whatever rebalances have occured between ANC and UST in the LP. i did this swap with a time a minute after the initial trade took place(not sure if this matters).
1 Like

The problem is lets say you create a 1000$ usdc-matic LP(50% ratio) and send the tokens to pool and when unstaking u get them back like 600 usdc and 400 matic.due to impermanent loss then koinly will prompt you with 100 usdc - no transaction history message and for 400 matic it wont display any message but if you look at the polygon pool u will see 100 matic left there coz koinly thinks only 400 was withdrawn from the 500 matic,

I am also eager to know the solution to this as currently my polygon pool has quite a few tokens stranded there due to koinly not being able to handle this situation correctly.

If there was a way to retrieve the remaining 100 matic from the pool and mark it as lost then it would be awesome but currently u cannot apply any additional tags to “send to pool” and “receive from pool” transactions

with regards to no.5 - maybe u can manually simulate a “receive from pool” with the tokens which are out of whack and then somehow ( god knows how lol) mark them as lost would do the trick. cmon koinly support - help us out here will ya :slight_smile:

one way this could work if we were given the ability to modify the amount received in the wallet when “receive from pool” happens. It works in “sent to pool” case though - i use it capture the 4% deposit fee in some farms when u deposit the LP tokens

in the below example u see the bsc wallet amt received can’t be changed…if it was like sent 500 and received 400 then koinly would calculate the missing 100 as a fee and pool also would balance out as in what went in came out minus the fee (the impermanent loss token amt…in this case 100)


Another way is to recreate the above transaction manually and delete the koinly created transaction. You can then tweak the manual transaction to indicate 400 matic received as that would do the trick. once i do mine i can paste a screen shot here for everyone. i think it should work…shit it will work…jjust lit my own bulb ha ha !!

Yeah I’m talking manually in regards to AnC-UST.
A manual l swap will balance the token amounts without creating a taxable event before you take it out. Though It prob should be treated as a trade if U end up with more $$ when taking it out.

yeh thats why the reducing the tokens received while doing a “receive from pool” option should work like a charm with the manual transaction as the impermanent loss should be called out as a fee so it net evens out. not ideal but at least should be a workaround till koinly does some magic on their ends.

If u end up with more tokens - that koinly already handles it by calling out those excessive tokens at zero cost so u pay tax on the full amt. eg- if u went to into a xx-yy LP and ended up with xx+70$ and yy-50$ , then manual transaction mentioned above would take care of yy-50$ and koinly will put the cost basis for the additional 70$ as 0 so u pay tax on the full 70$ which makes sense as u got extra .

None of my LP tokens on Polygon are being picked up yet, here’s the details of each one.


I may have missed a couple, but so far not a single liquidity pool interaction I’ve had has been picked up, so far I’ve used Sushiswap, Quickswap, and Balancer

1 Like

Any update to the Liquidity out issue or a good way to work around it ?

This really isnt ideal and really want to fix it.

1 Like

Just revisiting this thread to see whether anything has happened. I really don’t get this company. It almost seems like a fraud: ‘here’s the platform from 2019 now go do your thing, you’re on your own!’

What a horrible, horrible & arrogant business practice.

Here’s an example of the competitor Cointracking who communicates and acts strongly to user’s requests.
Pooling the fun way. no headaches, clear and easily legible. Apparently all the info IS on the blockchain so why not make use of it.

I apologize in advance if this comes across as harsh and if KOINLY does have some amazing features up its sleeve. I just feel that EVERYONE in this group feels equally ignored about so many issues.

So why don’t you simply give us a road map. We are not only investing $$$ into a subscription we are investing what’s more precious: far too much time in all of this altogether.

1 Like