Gifts
Overview
When end-users receive transfers that are gifts on your platform, the initial acquisition information of the transaction will be considered "missing cost basis". As a result, gains and losses cannot be accurately calculated.
Digital Asset exchanges that have built out a customer experience to accept gift information can send the transfer information to Taxbit to calculate and maintain inventory values, and to determine the appropriate cost basis during the disposal based on IRS gift guidelines.
Creating Gift Transfers
Inter-Platform Gift Transfers
If the exchange does not know who the gifter is, the end-user will need to provide cost basis information.
A set of Transfer Lots can be created and associated with a deposit transaction that has a subtype of Gift. A Transfer Lots item consists of an Acquisition Date (of the lot), Quantity (in the lot), and Cost Basis (value of lot at acquisition) and should represent the original gifter’s acquisition date. You can leverage the Transfer-Lots APIs with the POST, GET, and DELETE.
Intra-Platform Gift Transfers
If the exchange is supporting a gift experience in their platform, Taxbit can automatically leverage the gifter's cost basis information to determine the giftee's cost basis. The exchange is expected to tie these transactions together when sent to Taxbit.
A deposit transaction that has a subtype of Gift will also require a counterparty_transaction_id. The counterparty_transaction_id should maps to the withdraw transaction ID that represents the gift from the Gifter. This transaction will be leveraged to determine the cost basis required for the received gift.
Validations
During a POST, the quantity of assets of a set of transfer lots must match the transfer transaction’s quantity. If there is a mismatch in quantity, there will be a failed 400 response.
If a transaction with existing transfer lots is updated and the validation rules are broken, Taxbit will return the transfer lots with a 203 response.
During an update of a transaction with existing transfer lots, the following will conditionally occur:
- If transaction date-time moves backward, any impacted transfer lots where the transfer-lot timestamp is later than the transfer-transaction timestamp will be ignored, and missing cost basis lots will fill the remaining quantity of the transfer
- Calling a GET transfer-lots for this transaction will return a 203 response.
- If quantity of the transfer-in transaction changes, ignore all lots & create MCB lot for the transfer-in.
Downstream Impact
API
Creating transfer-lots with gifted lots for values will have downstream impacts on Transactions and Gains items. Taxbit’s API can inform if there has been an impact or derivation from a user-provided-cost-basis value.
- Transactions GET – the
tag has_transfer_lot_data = trueif the cost basis was manually set on the transfer_in transaction - Gains (/v1/gains/cost-bases) GET –
account_owner_edited = truewhen a gain item is impacted by a user-provided cost basis- The cost basis is determined based on the FMV at time of disposal based on US IRS rules for gifts.
The same Transfer Lots endpoint is used for gifts received or "user-provided-cost-basis" for transfers from a different platform. They can be differentiated based on the type/subtype combination.
Updated 11 days ago
