This is easy when you buy Bitcoin, hodl and then sell but what if you convert it to altcoins, trade altcoins for altcoins and ultimately sell some altcoin for USD? How do you even keep track of your profits?
This is easy when you buy Bitcoin, hodl and then sell but what if you convert it to altcoins, trade altcoins for altcoins and ultimately sell some altcoin for USD? How do you even keep track of your profits?
Its the same as if you were to pay for a new car with some Google shares and your old car, where there is no conversion to money- it's barter trade. The CRA (Canadian IRS) treats BitCoin transactions as barter trade- and you have to declare the trade in equivalent dollar values.
The happy path does not allow for easy avoidance of capital gains. I am not sure what happens if you were to purchase outside the country though- although I think the limiting factor here is the exchange you're converting on. Connecting with banks subject them to regulation and reporting.
I wonder if I buy BitCoin in a Caymen Island exchange, sell on the exchange for profit into a Caymen Island bank account, then transfer the wealth into a Canadian account, if I could avoid capital gains. This is all in OP's comment though where the institutions responsible for taxation have a wealth of domain knowledge. The tax code is complicated because people with a ton of wealth on the line have found and exploited every loophole imaginable. Nothing I can think of hasn't already been considered.
That's interesting. How does it work with hard forks like Bitcoin Cash?
I think you'd treat it as found money (income, but at what value? it would be really hard to say what the value is on Day 1 of the hard fork, but you could go by what the markets said it was worth... or do you use the value of the BCH from when you first "claimed" it and moved it to a BCH address? or use the value it had when you first sold it? what if you were holding BTC at the time of the fork but never claimed your BCH, do you have any way to prove that? Do you need to?)
Then once you transact it just once, it should be easy, same question as any other crypto currency; you pay capital gains on the appreciated value (the gains) after you sell. But what is your "cost basis" in that calculation?
I don't want to overpay taxes, but I think the safest thing to do would be to treat that first sale as pure income and pay the regular marginal income tax rate on the full value, because truly you'd actually have no cost basis until you had actually bought some BCH.
At least, I would believe that's the spirit of the law.
So if you're buying NEO with BTC, you log two trades: a SELL of BTC (to USD), and a BUY of NEO (with USD.)
It's also important to match each of your sale orders with prior buy orders (for calculating taxable profit/loss.)
I haven't used this product and I'm not vouching for it in any way, but it looks like a solid thing, and I intend to use it this year to figure out how much I owe for my trades.
It appears to have grown since I looked at it last, for $20 you get the ability to import as many transactions as you want from CoinBase, GDAX, and ~15 or so others, and you get your answer in a form that TurboTax can include in your returns.
Last time I looked, I think that it supported CoinBase but not GDAX. (So it appears to have grown since then.) I don't know how much I trust a tax service for $20, but I think I trust it further than I can throw a spreadsheet that I created and populated with trade information by hand...
I think that, CoinBase and GDAX are not in the business of helping you file your tax returns. They may even incur liabilities if they helped you do it wrong.
If coin trading platforms at-large are not solving this problem, then CoinBase has no need to compete on that point. There aren't any markets that try to help you file your taxes better, they are all busy solving the problems of holding cryptocurrency securely and making sure that trades are executed and accounted for reliably and in a timely fashion.
This is not the only company that suggests API use for a customer. I was somewhat bewildered when I asked Pivotal if there was any more convenient interface to Story Tasks, and told Pivotal that I was writing a client for their API because it was too onerous to make sense of Project/Story/Task workflow through their application's interface, and they responded (in brief) "that's actually exactly what we'd recommend, good luck!"
If they help you get a spreadsheet, you're going to blame them when it's too confusing for you (or your accountant) to distill into the form of a tax return correctly. What do you do with cancelled trades? How do you make sure they are discarded? (They should probably reflect on the data sheet somehow, right?) And what do you do when you trade on more than one market, or when you bring cryptocurrency from another source that already has a cost basis? Your itemized gains and losses are now incorrect, unless you provide an interface to express that cost basis into the system. And now you aren't just a market, you're an accounting platform.
This sounds more and more like a problem for bitcoin.tax to solve, and not Coinbase.
An API is the way to provide an interface to the data that is stored in your service (for customers, or anyone else.)
The data that is not inside of your service, you don't need to take responsibility for as a service provider. As an API or service provider, there is an opportunity to answer these kinds of questions insofar as you feel responsible, in the interface documentation.
Like buying EUR/USD then going into EUR/AUD