Coder Social home page Coder Social logo

Comments (6)

nazgul6 avatar nazgul6 commented on July 21, 2024 1

Thanks, that makes sense. Thanks so much for these clarifications :).

from bittytax.

nanonano avatar nanonano commented on July 21, 2024

Hi @nazgul6, thanks for the positive feedback, glad you're finding the tool useful! :)

Yes crypto-to-crypto trades are disposals so taxable events, using Changelly is a bit like using a DEX, so you have to manually consolidate the withdrawal/deposit transactions into a single trade.

Regarding which wallet the trade should be in, which ever you choose it will result in the audit not balancing, this is not a problem as the audit is only informational, it's not used for the tax calculations. If you do it this way I would say the receiving wallet would make sense, in which case pick the timestamp of the deposit from Changelly.

If there was a big delay (i.e. not the same day) between the withdrawal of token A and the deposit of token B, you could specify a "Buy Value" for your trade to matche the price of Token A at the time it was sent to Changelly.

The trade can only contain a single fee, so use the fee from whichever transaction (withdrawal or deposit) you make into the trade. The other fee would have to be adjusted into the buy or sell quantity of the token to make sure it still balances correctly.

Another way of doing it would be to treat Changelly like a CEX, so it has it's own wallet which contains the trade as well as additional deposits, withdrawals, which match the withdrawal/deposit from your other wallets. This will ensure the audit balances but is more work as you need to add 3 new transactions.

  1. Withdrawal BTC (Wallet BTC)
  2. Deposit BTC (Changelly "wallet")
  3. Trade ETH <- BTC (Changelly "wallet")
  4. Withdrawal ETH (Changelly "wallet")
  5. Deposit ETH (Wallet ETH)

Hope that explains it okay? I want to write an article with some diagrams to help explain this at some point, it's on the TODO list!

from bittytax.

nazgul6 avatar nazgul6 commented on July 21, 2024

That is a perfect explanation, thanks @nanonano.

For such crypto-crypto trades, completed over, say, a span of an hour, does the taxman have a preferred timestamp for calculating value of the disposed currency?

from bittytax.

nanonano avatar nanonano commented on July 21, 2024

I don't think it really makes any difference, the price would be calculated the same, since it's within the same day, the historic price data is only available per day, not hour.

If the trade happened over multiple days, it is important that the timestamp of the Trade matches the date of the asset which does NOT have a value specified (i.e. historic price lookup will be used so date is important).

from bittytax.

nazgul6 avatar nazgul6 commented on July 21, 2024

Got it, thanks. Does that mean though that there is scope for (inadvertent) misrepresentation of capital gains/loss if the intraday trade is done at levels considerably different from end of the market rates captured by the tool if one is only ever converting between cryptos? I.e. one BTC/ETH trade executed at say say 10am has actual gains to you at the time that could be different from the gain calculated using end of day BTC/ETH rate?

from bittytax.

nanonano avatar nanonano commented on July 21, 2024

I think HMRC want you to be consistent, so if you always use the closing price, there will be some days when you gain and others when you lose, but overall it won't make much difference.

If you do have the exact price data (at the time of the trade) it can be added as the Buy or Sell Values.

There might be price API's which give better granularity of historic prices, but these normal require subscriptions.

from bittytax.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.