Timestamp Mismatches
Identifying and fixing timestamp issues
The REST API reference, plus guides for the dashboard uploader.
Identifying and fixing timestamp issues
Timestamp issues can affect your tax reporting. Here's how to identify and fix them.
Your CSV shows a trade at one time, but:
Example:
Your CSV: 2025-03-15 14:30:00 UTC
Exchange: 2025-03-15 14:32:15 UTC
Difference: 2 minutes 15 seconds
Timestamps affect:
Real example:
Sell ETH at 11:59 PM: $3,000 (Dec 31, 2024)
Price drops to $2,500 at 12:01 AM (Jan 1, 2025)
2-minute difference = $500 per ETH difference
Exchange: EST (UTC-5)
Your CSV: UTC
Your clock: PST (UTC-8)
Same transaction shown at 3 different times
Fix: Convert all to UTC and verify alignment
You place order: 14:30:00
Order confirmed: 14:30:05
Settlement: 14:30:30
Which time is correct?
Answer: The fill time (when order matched), not submission time.
Some exchange APIs have 5-15 second delays:
Blockchain timestamp: 14:30:00
Exchange API shows: 14:30:12
Your export shows: 14:30:20
Multiple timestamps for same transaction
Spring forward: March 12, 2:00 AM → 3:00 AM
Fall back: November 5, 2:00 AM → 1:00 AM
Transactions near DST changes shift 1 hour
We flag timestamps when:
Example TaxFormatter flag:
Date: 2025-03-15
Your CSV: 14:30:00
Market data: 14:32:15 (ETH $3,000)
Price mismatch: You show $2,995
Flag: "Timestamp may be off. Price at 14:30 was $3,010. Verify."
Transaction on Dec 31 at 11:59 PM
But actually happened Jan 1 at 12:01 AM
→ Changes tax year by 1 year
Fix immediately: Verify blockchain date.
Sell BTC on volatile day
5-minute difference = 1-5% price swing
→ Could affect gain/loss by thousands
Verify: Check exchange confirmation.
Sell USDC
3-minute difference
→ Price changed <$0.001
Accept: Usually negligible.
Log into your exchange:
Advanced: Look up transaction on blockchain explorer:
Search your address and transaction, note the timestamp.
CSV shows: 2025-03-15 14:30:00
Exchange shows: 2025-03-15 14:30:00 ✓
Blockchain shows: 2025-03-15 14:30:00 ✓
Match = Good
vs
CSV shows: 2025-03-15 14:30:00
Exchange shows: 2025-03-15 14:32:15 ✗
Blockchain shows: 2025-03-15 14:32:15 ✓
Mismatch = Use blockchain time
Sometimes re-exporting gives different timestamps:
1. Delete your export
2. Export again with same parameters
3. Check timestamps
4. Upload new file
Why it helps: Some exchanges update historical data.
For 1-2 transactions:
Format: YYYY-MM-DD HH:MM:SS
If < 5 minutes and price stable, it's usually fine. TaxFormatter accepts ±5 minute tolerance.
TaxFormatter normalizes every timestamp in your export to UTC and flags rows whose timestamps it cannot interpret. It does not look up prices or correct a timestamp against the blockchain — if you need that, use the exchange confirmation or block explorer as the authoritative record.
More critical in volatile markets:
Normal day: $100 bitcoin move = 0.3% swing
Volatile day: $2,000 bitcoin move = 6% swing
Same 5-minute difference has 20x more impact
Strategy: If volatile day, get timestamp accuracy from blockchain (immutable record).
The IRS expects:
Best practice: Keep copies of:
Some exchanges don't have historical timestamps. Use the price on that date:
2008 trade: No exact timestamp
Use: First available timestamp for that asset + date
Document: "Timestamp estimated to [date] based on price on that date"
If a transaction spans multiple days (rare):
Order placed: Jan 31 11:59 PM
Filled/settled: Feb 1 12:05 AM
Use: Settlement date (Feb 1) per tax law
Your computer's clock was wrong (off by hours):
Transaction actually happened at 14:30 UTC
Your computer showed 13:20 UTC (1 hour behind)
CSV: 13:20 (incorrect)
Fix: Change to 14:30 (correct)
✓ Timestamps matter for tax year determination
✓ More critical for volatile assets
✓ Check exchange + blockchain records
✓ Accept ±5 minute tolerance usually
✓ Document discrepancies for tax pro
✓ Use blockchain as authoritative source
✓ Keep exchange confirmations
✓ TaxFormatter flags timestamps it cannot interpret; you choose the authoritative source