Supported Cost Basis Methods
Cost basis is the foundation for calculating your gains and losses when acquiring and disposing crypto. It represents the original purchase price of your tokens, adjusted for various factors like fees. Understanding how Integral calculates cost basis helps you make informed decisions and prepare accurate reports for audits and monthly reconciliations.
How to view/change your Cost Basis method
Login to your Integral account
Click on Policies in the left-hand menu bar
Select Accounting -> Cost Basis Method
When you change your cost basis method, changes to not reflect immediately. Depending on the quantity of transactions in you account, please allow between 24-48hrs for Integral to re-calculate and generate the new Tax Lots for your account.
FIFO (First-in, First-out)
How it works:
FIFO assumes that the first tokens you purchased are the first ones you sell. This method creates individual "tax lots" for each purchase, tracking the exact date, quantity, and price of each acquisition.
Step-by-step example calculations:
1. Purchase Processing: When you buy 100 tokens at $10 each, Integral creates a tax lot with:
Quantity: 100 tokens
Cost per token: $10
Total cost basis: $1,000
Purchase date: Transaction timestamp
2. Sale Processing: When you sell 60 tokens at $15 each:
Integral identifies the oldest tax lot (FIFO principle)
Reduces that lot by 60 tokens
Remaining lot: 40 tokens at $10 each
Cost basis for sale: 60 × $10 = $600
Gain calculation: (60 × $15) - $600 = $300 gain
3. Multiple Lot Consumption: If you sell more tokens than available in the oldest lot:
First lot is completely consumed
Next oldest lot is used for remaining quantity
Cost basis is calculated across multiple lots
Example scenario:
Purchase 1: 50 tokens at $8 each (Jan 1)
Purchase 2: 100 tokens at $12 each (Jan 15)
Sale: 75 tokens at $20 each (Feb 1)
FIFO calculation:
Use all 50 tokens from Purchase 1: 50 × $8 = $400
Use 25 tokens from Purchase 2: 25 × $12 = $300
Total cost basis: $400 + $300 = $700
Sale proceeds: 75 × $20 = $1,500
Gain: $1,500 - $700 = $800
Account-Scoped FIFO
How it differs from standard FIFO:
Account-scoped FIFO applies the FIFO method separately within each of your accounts or wallets, rather than across your entire portfolio. This only applies to organizations who have opted in to Safe Harbor.
Calculation process:
1. Separate Tax Lot Tracking: Each account maintains its own queue of tax lots for each token
2. Independent Processing: Dispositions in Account A only consume tax lots from Account A
3. Transfer Handling: When you transfer tokens between accounts:
Original account: Tax lot is removed with original cost basis
Receiving account: New tax lot is created with same cost basis and original date
ACB (Adjusted Cost Basis)
How it works:
ACB maintains a running average cost for all tokens of the same type, regardless of when they were purchased. This method is commonly used in Canada, Australia and the UK for tax purposes.
Step-by-step example calculations:
1. Running Average Maintenance:
Total cost basis ÷ Total quantity = Average cost per token
Updates with each purchase or sale
2. Purchase Processing: When you buy tokens:
Add purchase cost to total cost basis
Add quantity to total holdings
Recalculate average cost per token
3. Sale Processing: When you sell tokens:
Cost basis = Quantity sold × Current average cost
Reduce total cost basis by calculated amount
Reduce total quantity by amount sold
Average cost per remaining token stays the same
Example scenario:
Initial: 0 tokens, $0 cost basis
Buy 100 tokens at $10: 100 tokens, $1,000 basis, $10 average
Buy 50 tokens at $16: 150 tokens, $1,800 basis, $12 average
Sell 75 tokens at $20:
Cost basis for sale: 75 × $12 = $900
Remaining: 75 tokens, $900 basis, $12 average
Gain: (75 × $20) - $900 = $600
LIFO (Last In, First Out)
How it works:
LIFO assumes that the most recently purchased tokens are the first ones you sell. This method consumes tax lots in reverse chronological order, using the newest acquisitions first.
Step-by-step example calculations:
1. Purchase Processing: Each purchase creates a tax lot, same as FIFO:
Quantity, cost per token, total cost basis, purchase date
Tax lots are stored in chronological order
2. Sale Processing: When you sell tokens:
Integral identifies the most recent tax lot (LIFO principle)
Reduces that lot by the sale quantity
If sale quantity exceeds the newest lot, moves to next newest lot
Cost basis uses the most recent purchase prices
3. Multiple Lot Consumption: For large sales:
Newest lot is consumed first
Works backward through purchase history
Stops when sale quantity is fully allocated
Example scenario:
Purchase 1: 50 tokens at $8 each (Jan 1)
Purchase 2: 100 tokens at $12 each (Jan 15)
Sale: 75 tokens at $20 each (Feb 1)
LIFO calculation:
Use all 100 tokens from Purchase 2: 100 × $12 = $1,200
Use 25 tokens from Purchase 1: 25 × $8 = $200
Total cost basis: $1,200 + $200 = $1,400
Sale proceeds: 75 × $20 = $1,500
Gain: $1,500 - $1,400 = $100
HIFO (Highest In, First Out)
How it works:
HIFO prioritizes tax lots with the highest cost basis first, regardless of purchase date. This method is designed to minimize taxable gains by using the most expensive tokens first.
Step-by-step example calculation:
1. Tax Lot Ranking: All available tax lots are ranked by cost per token (highest first)
2. Sale Processing: When you sell tokens:
Integral identifies the tax lot with highest cost per token
Reduces that lot by the sale quantity
If sale quantity exceeds the highest-cost lot, moves to next highest
Continues until sale quantity is fully allocated
3. Dynamic Reordering: Tax lots are evaluated by cost basis for each sale:
Not dependent on purchase date
Always uses most expensive available tokens first
Minimizes realized gains or maximizes realized losses
Example scenario:
Purchase 1: 50 tokens at $8 each (Jan 1)
Purchase 2: 100 tokens at $12 each (Jan 15)
Purchase 3: 75 tokens at $6 each (Jan 30)
Sale: 100 tokens at $20 each (Feb 1)
HIFO calculation:
Use all 100 tokens from Purchase 2 (highest cost): 100 × $12 = $1,200
Total cost basis: $1,200
Sale proceeds: 100 × $20 = $2,000
Gain: $2,000 - $1,200 = $800