Consuming Gains
Taxbit also has Gains endpoints to consume information on specific account's disposals and relevant Gains (or Losses).
So far we’ve only accumulated inventory with trade
transactions that received crypto
assets (BTC and ETH) in exchange for fiat
assets (USD). Below we POST
a transaction that sells 1.5 bitcoin for $90,000; subsequent requests to /inventory*
and /gains*
endpoints reflect the disposal:
POST
the sell transaction:
curl --request POST \
--url https://api.multi1.enterprise.taxbit.com/v1/transactions/external-id \
--header 'authorization: Bearer {{token}}' \
--header 'content-type: application/json' \
--data '{
"account_id": "{{account-id}}",
"id": "4",
"datetime": "2024-01-04T12:13:14.123Z",
"type": "trade",
"received": [
{
"asset_amount": {
"amount": "90000.00",
"asset": {
"code": "USD",
"type": "fiat"
}
},
"rates": [
{
"amount": "1.00",
"asset": {
"code": "USD",
"type": "fiat"
}
}
]
}
],
"sent": [
{
"asset_amount": {
"amount": "1.5",
"asset": {
"code": "BTC",
"type": "crypto"
}
},
"rates": [
{
"amount": "60000.00",
"asset": {
"code": "USD",
"type": "fiat"
}
}
]
}
],
"version": "2.0"
}
'
Bitcoin inventory now shows 0.5 BTC remaining with an average unit cost of $20,005. The sale fully disposed of the higher-cost ($40,005) lot and partially disposed of the lower-cost ($20,005) lot because the account’s payer is configured to use the HIFO
(highest-in-first-out) disposition method. Accounts can also use a FIFO
(first-in-first-out) method, which selects lots based on the earliest acquisition_datetime
.
curl --request GET \
--url 'https://api.multi1.enterprise.taxbit.com/v1/inventory?account_id={{account-id}}&asset_code=BTC' \
--header 'authorization: Bearer {{token}}'
HTTP/1.1 200 OK
Content-Type: application/json
{
"data": {
"asset": {
"uuid": "9cd9f4d4-078b-4e44-a308-7662fec0f546",
"name": "Bitcoin",
"code": "BTC",
"type": "Crypto"
},
"fiat_asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"code": "USD",
"type": "Fiat"
},
"summary": {
"total_quantity": "0.5",
"total_cost": "10002.5",
"average_unit_cost": "20005",
"total_quantity_with_cost_basis": "0.5"
},
"lots": [
{
"id": "c8627a07-3492-5e91-827d-94d4094240b0",
"acquisition_datetime": "2024-01-01T12:13:14.123Z",
"term": "short-term",
"quantity": "0.5",
"fiat_asset_code": "USD",
"cost": "10002.5",
"unit_cost": "20005"
}
]
}
}
Disposal data can be queried via Taxbit’s /gains*
endpoints, which each require start_date
and end_date
query parameters.
/v1/gains/breakdown
The /v1/gains/breakdown
endpoint returns quantity for both short- and long-term gains. Long-term gains are defined as disposed inventory held for at least a year prior to disposal.
curl --request GET \
--url 'https://api.multi1.enterprise.taxbit.com/v1/gains/breakdown?start_date=2020-01-01T00%3A00%3A00Z&end_date=2025-01-01T00%3A00%3A00Z&account_id={{account-id}}' \
--header 'authorization: Bearer {{token}}'
HTTP/1.1 200 OK
Content-Type: application/json
{
"long_term": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "0"
},
"short_term": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "39992.5"
},
"total": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "39992.5"
}
}
/v1/gains/summary
The /v1/gains/summary
endpoint returns the total gain quantity (short- and long-term) for the given request’s time period.
curl --request GET \
--url 'https://api.multi1.enterprise.taxbit.com/v1/gains/summary?start_date=2020-01-01T00%3A00%3A00Z&end_date=2025-01-01T00%3A00%3A00Z&account_id={{account-id}}' \
--header 'authorization: Bearer {{token}}'
HTTP/1.1 200 OK
Content-Type: application/json
{
"quantity": "39992.5",
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
}
}
/v1/gains/cost-bases
The /v1/gains/cost-bases
endpoint returns data for specific taxable disposals that took place during the request’s time period.
curl --request GET \
--url 'https://api.multi1.enterprise.taxbit.com/v1/gains/cost-bases?start_date=2020-01-01T00%3A00%3A00Z&end_date=2025-01-01T00%3A00%3A00Z&account_id={{account-id}}' \
--header 'authorization: Bearer {{token}}'
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"sale_date": "2024-01-04T12:13:14.123Z",
"amount_sold": {
"asset": {
"uuid": "9cd9f4d4-078b-4e44-a308-7662fec0f546",
"name": "Bitcoin",
"type": "Crypto",
"code": "BTC"
},
"quantity": "1"
},
"proceeds": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "60000"
},
"gain_type": "short-term",
"tax_year": "2024",
"user_id": "6a33f4fa-f9cf-445e-ae59-496c4bde213a",
"index": "lot-id=bb694f5c-d2ef-5ff9-82cc-a73ace56db0c,fee=false",
"acquisition_transaction_id": "78665eb7-43de-5649-ad93-ca62fc1c1295",
"disposition_transaction_id": "15955016-a10b-5fcd-9e65-3af6d0cf6a09",
"update_time": "2024-07-02T19:23:13.402419Z",
"gain": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "19995"
},
"cost": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "40005"
},
"cost_basis_date": "2024-01-02T12:13:14.123Z"
},
{
"sale_date": "2024-01-04T12:13:14.123Z",
"amount_sold": {
"asset": {
"uuid": "9cd9f4d4-078b-4e44-a308-7662fec0f546",
"name": "Bitcoin",
"type": "Crypto",
"code": "BTC"
},
"quantity": "0.5"
},
"proceeds": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "30000"
},
"gain_type": "short-term",
"tax_year": "2024",
"user_id": "6a33f4fa-f9cf-445e-ae59-496c4bde213a",
"index": "lot-id=c8627a07-3492-5e91-827d-94d4094240b0,fee=false",
"acquisition_transaction_id": "dc909d4d-d500-5d27-8cd5-e2a41a74a75a",
"disposition_transaction_id": "15955016-a10b-5fcd-9e65-3af6d0cf6a09",
"update_time": "2024-07-02T19:23:13.402419Z",
"gain": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "19997.5"
},
"cost": {
"asset": {
"uuid": "df939ab7-b7ed-4216-be63-ca1d2a130396",
"name": "United States Dollar",
"type": "Fiat",
"code": "USD"
},
"quantity": "10002.5"
},
"cost_basis_date": "2024-01-01T12:13:14.123Z"
}
]
Updated 4 months ago