Skip to content

feat: CSV export for account transaction history #16

@dannywillems

Description

@dannywillems

Summary

Add the ability to export an account's transaction history as a CSV file, with optional date range filtering.

Use Case

Users need to download transaction data for specific accounts for:

  • Tax reporting and accounting
  • Analyzing transaction patterns
  • Importing into spreadsheets or other tools
  • Record keeping

Requirements

Data to Include

  • Transaction hash
  • Type (sent/received/zkApp)
  • Counterparty address
  • Amount (in MINA)
  • Fee (in MINA)
  • Timestamp (ISO 8601)
  • Block height
  • Memo (if present)
  • Status (confirmed/pending)

Filtering Options

  • Date range picker (from/to)
  • Preset ranges: Last 7 days, 30 days, 90 days, All time
  • Transaction type filter (sent/received/all)

UI Location

  • Account detail page (/account/:publicKey)
  • Add "Export CSV" button near the transactions table
  • Show export options in a dropdown or modal

CSV Format Example

hash,type,counterparty,amount,fee,timestamp,block_height,memo,status
5Jt...,sent,B62q...,100.5,0.01,2025-01-15T10:30:00Z,508500,Payment,confirmed
5Ju...,received,B62r...,50.0,0.01,2025-01-14T08:15:00Z,508450,,confirmed

Technical Notes

  • Use existing fetchAccountTransactions API
  • Consider pagination for large exports (may need to fetch in batches)
  • Generate CSV client-side using a library or native JS
  • Include BOM for Excel compatibility with UTF-8

Acceptance Criteria

  • Export button visible on account detail page
  • Date range filter works correctly
  • CSV downloads with correct filename (e.g., transactions_B62q...abc_2025-01-15.csv)
  • All transaction types included
  • Handles accounts with no transactions gracefully
  • Works on both desktop and mobile

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions