User Manual

Centralized Exchange Connections

Last updated September 20, 2026 · CryptaCount Team

Centralized Exchange Connections

CryptaCount connects to centralized exchanges (CEX) to pull trading history, deposits, withdrawals, and fee data. This data feeds into the same accounting pipeline as on-chain wallet transactions — unified classification, journal generation, and reporting.

CEX Accounts

Manage connected exchange accounts under CEX in the sidebar.

CEX accounts list with connection status

Each account entry shows:

  • Exchange name — Binance, Coinbase, Kraken, etc.
  • Account label — Your custom name (e.g., "Acme Digital Holdings — Binance Main")
  • Connection status — Connected (API), Import Only (file-based), or Error
  • Last sync — Timestamp of the most recent data pull
  • Transaction count — Total transactions imported from this account

Adding an Exchange via API

To connect an exchange through its API:

  1. Navigate to CEX and click Add Exchange Account
  2. Select the exchange from the supported list
  3. Enter a descriptive label for this account
  4. Provide the API Key and API Secret from your exchange

tip

Create read-only API keys on your exchange. CryptaCount never executes trades or withdrawals — it only reads transaction history. Disabling trade and withdrawal permissions on the key reduces risk.

  1. Click Connect — CryptaCount validates the credentials and begins the initial sync

API keys are encrypted at rest.

Supported Exchanges

CryptaCount supports API connections and CSV/XLS/PDF imports for major exchanges. The exact list of supported exchanges is available in the import interface — select "API Import" to see exchanges with direct API support, or "CSV/XLS Import" for file-based options.

CEX Transactions

View all imported CEX transactions under CEX Transactions in the sidebar.

CEX transactions with classification status

The transaction list shows:

  • Date/Time — When the trade or transfer occurred on the exchange
  • Exchange — Which exchange account this transaction belongs to
  • Type — BUY, SELL, DEPOSIT, WITHDRAWAL, FEE, TRANSFER, etc.
  • Asset(s) — The asset pair involved (e.g., BTC/USDT for a trade)
  • Amount — Quantity and direction
  • FMV — Fair market value at the time of the transaction
  • Classification status — Whether this transaction has been classified and mapped

Classifying CEX Transactions

CEX transactions follow the same classification pipeline as on-chain transactions. CryptaCount auto-classifies most CEX activity:

  • Trades → BUY or SELL based on quote/base pair direction
  • Deposits → TRANSFER_IN
  • Withdrawals → TRANSFER_OUT
  • Fees → FEE or TRADING_FEE

For transactions that need manual review, use the classification controls in the transaction detail to assign the correct type and economic intent.

Posting Journals from CEX Data

Once CEX transactions are classified and GL-mapped, you can post them as journal entries. Use the Post Journals action from the transactions view to generate double-entry journal entries for selected or all classified CEX transactions.

CEX Import

Import exchange data under CEX Import in the sidebar. Three import methods are available:

CEX import interface with upload options

API Import

For exchanges with supported API integrations:

  1. Select the exchange
  2. Enter your API credentials
  3. CryptaCount pulls all available history automatically

The system deduplicates against previously imported data, so re-importing is safe.

CSV Import

For exchanges without API support or when you have exported CSV files:

  1. Select the exchange (to use the correct column mapping template)
  2. Upload your CSV file
  3. Preview the parsed data before confirming the import

CryptaCount provides exchange-specific CSV templates — download the template for your exchange to see the expected column format. A generic CSV option is also available for exchanges without a specific template.

XLS / PDF Import

For spreadsheet and PDF statement imports:

  1. Upload the XLS or PDF file
  2. CryptaCount parses the document structure
  3. Preview the extracted transactions
  4. Confirm the import

note

PDF parsing works best with exchange-generated statements. Scanned documents or heavily formatted PDFs may require manual review of the extracted data.

Import Preview

All import methods show a preview before committing. The preview displays:

  • Number of transactions found
  • Date range covered
  • Potential duplicates flagged
  • Any parsing errors or warnings

Review the preview carefully before confirming — once imported, transactions enter the standard accounting pipeline.

CEX GL Mappings

Configure how CEX transaction types map to your chart of accounts under CEX GL Mappings in the sidebar.

CEX GL mapping configuration

GL mappings control which general ledger accounts receive debit and credit entries when CEX transactions are journalized. For example:

CEX Transaction Type Debit Account Credit Account
BUY (crypto) Digital Asset Inventory Cash / Exchange Balance
SELL (crypto) Cash / Exchange Balance Digital Asset Inventory
DEPOSIT Exchange Balance Bank / Source Account
WITHDRAWAL Bank / Destination Exchange Balance
TRADING_FEE Trading Fee Expense Exchange Balance

Default Mappings

CryptaCount provides sensible default GL mappings when you first connect an exchange. These defaults follow standard accounting treatment for crypto trading activity.

Custom Mappings

To customize mappings for your organization's chart of accounts:

  1. Navigate to CEX GL Mappings
  2. Select the transaction type to configure
  3. Choose the appropriate debit and credit GL accounts from your chart
  4. Save — all future and existing unmapped transactions of this type will use the new mapping

tip

Set up GL mappings before importing large volumes of CEX data. This way, transactions are correctly mapped on import and can be journalized immediately.

CEX Transfer Matching

Match CEX deposits and withdrawals with corresponding on-chain wallet movements under CEX Transfer Matching in the sidebar.

CEX transfer matching interface

When you deposit crypto to an exchange, the transaction appears in both your on-chain wallet data (as a TRANSFER_OUT) and in the exchange data (as a DEPOSIT). Without matching, these would be double-counted — appearing as both an outgoing transfer and an incoming exchange deposit.

Transfer matching links these pairs so the system recognizes them as a single internal movement.

Automatic Matching

CryptaCount automatically attempts to match transfers by comparing:

  • Amounts — Same asset and quantity (within fee tolerance)
  • Timing — Transactions within a reasonable time window
  • Addresses — On-chain destination matches known exchange deposit addresses

Automatic matches are flagged with a confidence score.

Manual Matching

For transfers the system cannot auto-match:

  1. Navigate to the Unmatched tab in CEX Transfer Matching
  2. Select a CEX deposit or withdrawal
  3. Find the corresponding on-chain transaction
  4. Click Match to link them

Common reasons for unmatched transfers:

  • The on-chain wallet hasn't been synced yet
  • The exchange deposit address isn't registered as an external wallet
  • Timing differences between exchange timestamps and block confirmation times
  • Fee deductions causing slight amount mismatches

Why Matching Matters

  • Prevents double-counting — The same economic event isn't recorded twice
  • Correct classification — Matched transfers are classified as INTERNAL_TRANSFER rather than separate IN/OUT events
  • Clean reconciliation — Unmatched transfers are flagged during reconciliation checks
  • Accurate reporting — Financial statements reflect actual economic activity, not duplicated movements

Was this article helpful?

Let us know if this answered your question

Centralized Exchange Connections — CryptaCount Support