Describe the problem:
Transactions on the OSMOSIS DEX using the OSMOSIS wallet which are supported by Koinly, are errantly recording the total “spent” coin in a transaction because it duplicates a part of the swap. Trades on any dex or cex are typically not filled all at once. I will post an example trade below. This trade is on the surface 4.68 ATOM swapped for 30318.320738 DVPN, with a gas fee of 0.000157 ATOM. This trade was done with an osmosis wallet connected to the osmosis decentralized exchange ( https://app.osmosis.zone/ ) if you are unfamiliar with it.
This trade involves spending the 4.68ATOM in 3 separate events (done behind the scenes by the DEX).
This screenshot was created viewing the transaction with mintscan.io.The ibc/2739…5EB2 represents that the currency is ATOM, the first number represents the amount of coin being transacted in each line, represented by 0.000000, there are always 6 decimal places, so if the number is only a 1, like this 1ibc/2739…5EB2, it means 0.000001 atom. So the above pictures 3 spend events are 0.001544 atom; 0.003136 atom; 4.675320 atom; which totals the 4.68 atom total spend (plus gas fee). So I as the user typed in and spent 4.68 atom, behind the scenes the DEX found me 3 buy transactions for 0.001544, 0.003136, and 4.675320 atom and packaged them together giving me the amount of DVPN it had told me I would get in trade for the 4.68 atom.
Now that I’ve explained what occurred, let me break down the automated accounting error koinly is doing right now. Here are the two records that koinly makes about the transaction that occured.
Koinly is correctly recording the gas fee and labeling it as “cost”. Koinly is errantly recording the first of the 3 behind the scene dex transactions as a “Send” in this case the 0.001544, and ignoring the remainder of the transaction. So if we refer to the above image this koinly record labeled “Send” is “[1] Coin Spent,” but koinly is ignoring “[5] coin spent” and “[9] coin spent” as well as ignoring the DEX fulfilling the transaction on “[14] coin received” (not pictured in the screenshot, but its there if you scroll down). Because of this koinly is not automatically recording the trade that occurred of ATOM for DVPN. And when I go to manually add the trade, it has errantly recorded that 0.001544 as a send transaction. Creating 2 massive accounting nightmares for clients with many transactions, me included.
I believe koinly ignoring subsequent coin spent/coin received messages (or perhaps just struggling with multiple lines) beyond the first set within the atom economic zone (Atom, Osmosis, Stride, Juno, Celestia, ETC), is creating hundreds of miniscule accounting errors within my automatically tracked wallets on koinly. It may be why every single AEZ wallet is miscalculated compared to its actual holdings by what amounts to dust.
Please fix the osmosis dex issue by utilizing what I have described above, and investigate all other Atom economic zone (Cosmos) wallets for the same issue.
Which exchange/wallet is this regarding?
Osmosis Dex/Osmosis Wallet
How did you import data into this wallet?
Public Key
What have you tried to fix this so far?
The solution is to delete the errant sends being created, but they shouldn’t be created in the first place. As well as manually record all dex trades (which is what I’m trying to pay you guys to automatically do in the first place).