The IRS plans to use the FIFO method, and it seems the Coinbase "Cost Basis for Taxes" uses this FIFO method for calculating coin basis for both sales and transfers to your own wallet.
The IRS doesn't exactly "plan" to use FIFO. FIFO is the preferred method of the IRS. However, there is debate as to what methodology you could use (LIFO, HCFO, CCFO, average, etc ) since Bitcoins are property and therefore essentially have no particular rules.
In my scenario I typically purchase coins, then transfer all of them to my own wallet at xxx address, then purchase more coins and transfer those to my own wallet at yyy address, and so on. Sometimes I've left coins on coinbase and then sold them a little bit later, and sometimes I transferred coins from a specific address back to coinbase and sold them.
1) I'd assume it is safest to use the coinbase calculated basis for both sales and transfers to external wallets.
-> This means that when I transfer coins to xxx wallet address, the basis of those coins is now what coinbase determined them to be.
2) The tricky part comes when I transferred coins back to coinbase to sell.
- For example, in the above example lets say I had coins at xxx address at basis xBasis, and coins at yyy address at basis yBasis. Using the FIFO a sale should match to your latest buy, i.e. the yyy address coins. But in my case I transferred coins from xxx address to coinbase, so it seems the "correct" thing to do is use xBasis.
Basically by transferred coins out of Coinbase to specific addresses, I can control and verify to the IRS which coins I later transferred back and sold.
It doesn't matter where the coin sits, its cost basis doesn't change. If you bought 1 BTC on Coinbase for $500 on date x and transfer it to a wallet, it still has a cost-basis worth $500 from x. Transfer it back to Coinbase, still nothing changes.
What matters is if you start mixing coins of different cost basis. Say you bought another 1 BTC for $400 and transferred it to the same wallet. Then you spend one. Which coin did you spend, the $400 or $500? Technically, the software could have spend either or a mix of the two, but that is almost impossible to track. So your only realistic option is to balance it on paper. If you use FIFO, then it was the $500. If you use LIFO, it was the $400.
End result, if you use Coinbase for all your buying/selling/spending and want to use FIFO, their tool will work everything out for your.
But if you spent using another wallet, on your phone for example, bought/received elsewhere or traded/mined alt-coins, you need a more sophisticated tool. Look at
https://bitcointaxes.info that is designed to work out Bitcoin and alt-coin capital gains.