"XYZ pays a vendor $2000 in BTC for services. The basis in the BTC is $1,700 and XYZ records a $300 gain." Please, how is this possible. I'm a bit lost here.
I know it's been a while since you posted this question, but... XYZ bought BTC for 1,700. Some time later, they engage a firm to provide them with $2000 worth of services. XYZ looks at the value of their BTC and says, "well what do you know, my BTC that I bought for 1,700 is now worth $2,000" and XYZ proceeds to pay for the services with the Bitcoin. In order to "make the accounting work", to record a payment of $2,000, XYZ has to record a gain of $300 to "write-up" the value of the bitcoin to the current value of $2,000. An easier way to understand WHY think about it as if XYZ sells the bitcoin at the current market price of $2,000, thus realizing a gain of $300 on the BTC. Then, they take the $2,000 and pay for the services. Hope that helps someone.
Take for instance a crypto exchange like Binance that makes some of it's money from transaction fees, how do you pick one cost basis when accounting for expenses