I’m trying to understand why the system is tracking cost basis two different ways now that wallet-based cost tracking is in place. It seems inconsistent to me.
Example 1:
I bought Bitcoin via Kraken over a year ago, so selling it today at Kraken would be long-term gain. However, I wanted to avoid having gains, so I bought new Bitcoin on Coinbase to transfer to a self-custody wallet for an ordinal purchase, and the sold Bitcoin’s cost basis was tracked by Koinly at that day’s purchase price at Coinbase (instead of the old Bitcoin purchased via Kraken over a year ago). This is what I expected and saved me on taxes - where the universal method would have cost me taxes on the gain made from 1+ year of holding bitcoin at the lower price.
Example 2:
I bought a Memecoin via Kraken in January at 5x the current price and transferred it to my self-custody wallet. Today, if I simulate buying the Memecoin again at Kraken and transfer it to my self-custody wallet with a sale for USDC, Koinly says my cost basis is from the higher priced transaction back in January (instead of the most recent purchase).
The only key difference between these two examples is a different “origination” for acquiring coin, but both sales were made after transfering to a separate wallet and then using that new wallet to execute the sale.
In case it matters: The reason I did the simulation was to see if I end up with a $0 cost basis if I transfer purchased coin from an exchange and then do a transaction in a self-custody wallet. Technically, the cost basis would have been at the exchange and not the self-custody wallet.