Moving bitcoin to yourself does not realize a gain. Paying someone else can.
Not tax advice · reviewed 25 October 2026
Self-transfers are not sales
Notice 2014-21 treats bitcoin as property. A sale, an exchange, or a payment in bitcoin is a recognition event. A move from an exchange to a wallet you still own is not, by itself, that event. The cost and the acquisition date stay with the coins. This worksheet is a review with a tax pro.
What the matcher does
- Lots sit in an account. A Coinbase sale does not consume a River lot until a transfer has moved it.
- A send and a receive match when they share a transaction id and the same asset and quantity, or when there is exactly one candidate with the same asset and quantity within three days and the accounts differ.
- The matched receive keeps the original basis and the original acquisition date. A later sale uses that date for short-term or long-term.
- An unmatched send, or two plausible receives, is not converted into a sale. The lots remain where they were. You will see a warning instead of a proceeds number.
- A fee that changes the bitcoin quantity can break the match. Strike’s send fee is kept off the quantity on purpose, and the warning says a net receive may not line up. Swan’s withdrawal id is not treated as a reliable match key.
What is not a self-transfer
Cash App’s help says person-to-person activity and external-wallet transfers are absent from the 1099-DA, and that a payment can still be a gain, a loss, a gift, or another kind of event. A withdrawal to self-custody is the transfer. A send to a friend is not automatically the same row. BasisFix warns on a BTC P2P line and does not invent proceeds. Lightning that pays a merchant is covered on Lightning payments. A gift receive is covered on gifts and inheritance.
Questions
When is a send between your own wallets not a sale?
When BasisFix can match it. The same transaction id, asset, and quantity, or exactly one candidate with the same asset and quantity inside three days and a different account. The original basis and acquisition date move with the coins. The send is not a Form 8949 line.
What if the receive never shows up?
An unmatched or ambiguous send stays in the source account. It is not turned into a sale, and it is not given zero proceeds. You still have to decide whether the coins moved to you, to someone else, or off the records entirely.
Is a person-to-person payment the same as a self-transfer?
No. A payment to someone else can be a disposition even when a 1099-DA omits it. BasisFix does not silently book a Cash App P2P row as a sale. It keeps the row as a transfer and warns you. A withdrawal to a wallet you control is the transfer case, once both sides can be shown.