Coinmarket cap is a position ledger for buys, balances and sales
Coinmarket cap is a crypto portfolio tracker for recording a position from its first buy through later additions and the final sale. A manual entry stores quantity, execution price, date, time, fee and notes, then the portfolio combines that record with market data to show holdings, allocation and profit or loss. Buying on Coinbase, Binance or Kraken still happens outside the tracker; entering the trade changes only the ledger. The same rule applies to sales. Manual records neither move BTC, ETH or USDC nor prove that an address owns them. This article follows one position lifecycle: choose the asset, capture costs, read the balance, add or transfer units, correct records and close the position.
Jump to a section
A complete sale record leaves exactly zero tracked units; any remainder keeps the position open.
Choosing what one portfolio position should represent
A Coinmarket cap portfolio position is a transaction ledger whose boundaries determine whether its balance answers the intended question.
Holdings from Coinbase, Binance and Kraken fit one consolidated position when the goal is total ownership by asset. Separate portfolios make more sense when the reader needs to reconcile each custody location. Network identity matters as well: ETH on Ethereum is distinct from wrapped or bridged representations, while USDC on Ethereum, Base and Arbitrum uses separate contracts even though each unit carries the same ticker. Choose the listed asset, network context and portfolio boundary before recording anything. Combining locations produces an ownership view; separating them produces a custody-by-custody view.
Capturing acquisition costs at entry
The acquisition-cost record is the monetary layer that turns a token quantity into a position with a meaningful performance history.
A manual buy contains six core inputs: quantity, price per unit, date, time, fee and note. Quantity and unit price establish gross purchase value. The buying fee joins that value in cost basis, while the timestamp places the event on the historical chart. Notes hold useful context such as the venue, order reference or wallet label. If an exchange statement already gives an all-in unit price, adding the same fee separately counts the cost twice and raises the displayed average buy cost.
Use the actual filled amount and execution value rather than the amount originally requested. That choice preserves the economic entry better than a blank fee field.
Entering the first buy with exact units
The first buy is an opening transaction that establishes positive quantity, acquisition value and a dated starting point for the position.
Match the asset and network
Coinmarket cap starts the manual workflow with an asset selection. Match the name, ticker and network to the acquired asset, especially for tokens issued across several chains. An ERC-20 USDC balance on Ethereum should follow the Ethereum contract context, while an SPL Token balance belongs to Solana. MetaMask, Ledger and an exchange statement provide location clues, but the transaction record should describe the asset itself. A matching ticker across two contracts does not make the contracts interchangeable.
Preserve native-unit precision
Enter the filled quantity without rounding away units that still exist. Bitcoin supports eight decimal places because 1 BTC equals 100,000,000 satoshis. Ethereum uses 18 decimal places, with 1 ETH equal to 10^18 wei. Solana defines 1 SOL as 1,000,000,000 lamports, while Cardano defines 1 ADA as 1,000,000 lovelace. Exchange order precision may be narrower, so copy the executed quantity from the fill record rather than extending it with invented zeros.
Reading balance, allocation and daily movement
The portfolio dashboard is a valuation view that multiplies each tracked quantity by Coinmarket cap market data and aggregates the results.
Current balance uses two changing inputs: held quantity and current market price. Allocation divides one asset's current value by the portfolio total, so its percentage moves even without a new transaction. The 24-hour change describes recent market movement, not return since purchase. The portfolio dashboard presents four named historical windows: 24 hours, 7 days, 30 days and 90 days. Edits and new transactions trigger a recalculation of charts and allocation. Read balance for present value, average cost for the entry record and all-time profit for the full position history.
What changes after a second buy?
A second buy is another acquisition layer that increases quantity and cost basis while preserving the original transaction as a separate event.
Alongside that, Coinmarket cap combines two or more buy records through weighted arithmetic. Average buy price divides purchase value excluding fees by total purchased units. Average buy cost includes buying fees before dividing by those units, which makes it the closer break-even reference. A larger purchase influences the average more than a smaller one because quantity supplies the weight. Enter the later purchase as a new transaction; editing the first buy would erase chronology and misstate when capital entered the position.
Classifying transfers without inventing a purchase
A transfer record is a quantity movement between locations, separated from the price-and-cost logic that defines a buy or sale.
Transfer In raises the tracked quantity and Transfer Out lowers it, but neither event directly creates profit in the portfolio calculation. This distinction matters when BTC moves from Kraken to a Ledger Live or ETH moves from MetaMask to an exchange. If one portfolio represents all locations owned by the same person, the internal movement should not appear as another purchase. If each location has its own portfolio, record the outflow in the source and the inflow in the destination.
Consistent portfolio boundaries prevent one transfer from becoming two holdings. The location-specific approach offers clearer reconciliation than one combined balance when custody records matter.
Correcting routine changes without rewriting history
A routine correction is an edit to an existing transaction when its quantity, price, timestamp, fee or note was entered incorrectly.
Use edit for a transcription error and add a new transaction for an event that truly occurred later. A duplicated buy should be removed, while a genuine second purchase should remain separate. Changing the first buy merely to force the displayed balance toward an exchange total corrupts average cost, chart timing and realized profit after a sale. Reconcile the position against fills or on-chain movements first, identify the mismatched event and change that event alone. A targeted edit preserves chronology better than an artificial offsetting trade.
Worked example: two buys and one sale
The worked example is a three-event Ethereum ledger that ends with both realized profit and a remaining ETH position.
Every price, quantity, fee and valuation input below is hypothetical.
Open the position
Record a buy of 2 ETH at $2,000 per ETH with a $20 fee. The tracker holds 2 ETH and assigns the purchase a $4,020 cost basis.
Add the second lot
Record another buy of 1 ETH at $2,500 with a $10 fee. Total quantity reaches 3 ETH and total cost basis reaches $6,530, producing an average buy cost of $2,176.67 per ETH.
Record the partial sale
Record a sale of 1.2 ETH at $2,800 with a $12 selling fee. Gross proceeds equal $3,360 and allocated average cost equals $2,612, so realized profit equals $736. The remaining 1.8 ETH carries $3,918 of allocated cost. At a market price of $2,600, that balance is worth $4,680 and has $762 of unrealized profit. All-time profit reaches $1,498, while P&L equals 22.94% of the original $6,530 cost basis. The matching explanation appears in Coinmarket cap in depth intro.
Recording partial sales and filled quantities
A sale record is a disposal entry that reduces tracked quantity and moves part of the position's performance into realized profit.
Use the filled quantity, average execution price, date, time and selling fee from the completed order. A partial sale leaves more than 0 units, so Coinmarket cap continues valuing the remainder and displaying unrealized profit. A full sale leaves exactly 0 tracked units after every fill and asset-denominated fee has been reflected. Several fills from one order may be aggregated at their volume-weighted execution price when their timestamp treatment stays consistent. Preserving the remaining quantity gives a clearer lifecycle than removing the asset after the first sale.
Closing the position with a zero balance
A clean close is a zero-quantity ledger state reached after all actual sales and outward transfers have been entered accurately.
Reconcile the final units
Compare the tracker with the venue statement or wallet record after the final event. Network fees, exchange deductions and rounded display values can leave a small tracked remainder when the entered sale exceeds or misses the filled quantity. Record the actual units that left the position. Bitcoin's eight-decimal precision and token-specific decimal rules make exact quantities more reliable than a visually rounded balance.
Keep the closed history
A zero balance preserves buy dates, fees, partial sales and realized performance as one completed lifecycle. Removing a transaction changes the calculation, while removing the asset discards that position from the portfolio view. Keep the completed sale record when historical performance matters, and use deletion for a duplicate or unwanted ledger. A preserved closed position offers more continuity than an erased row.
Recalculation from transactions to position status
The portfolio calculation engine is an accounting model that joins entered transactions, stored costs and market prices into seven linked outputs.
The seven outputs are average buy price, cost basis, average buy cost, realized profit, unrealized profit, all-time profit and P&L percentage. Purchase value excluding fees sets average buy price. Buying fees enter cost basis, while average buy cost spreads the complete acquisition cost across purchased units.
A sale subtracts allocated average cost and its selling fee from proceeds to produce realized profit. Current value minus allocated cost on held units produces unrealized profit. All-time profit equals realized profit plus unrealized profit, and P&L percentage divides all-time profit by cost basis. Realized performance stays tied to completed sales, whereas unrealized performance continues moving with the market value of the remaining balance.
Transaction edits trigger the same chain of calculations again, which explains why one corrected fee changes several outputs at once. Transfers alter held quantity without directly producing profit. Market prices alter current value, allocation and unrealized profit without adding a ledger event. Accurate transaction history therefore gives a more dependable position status than cosmetic balance adjustments.
Everyday questions about Coinmarket cap
Which fiat currency belongs in a manual buy record?
Use the same fiat currency that appears on the execution record when creating the manual buy. That preserves the original price and fee relationship. If the portfolio displays another base currency, its market-data conversion serves as a viewing layer; it should not prompt a rewrite of the trade. Keep the venue currency in the note when a later reconciliation needs the original denomination.
Why does my portfolio value differ from an exchange balance?
A manual portfolio value differs when quantity, fee treatment, asset identity, timestamp or market-price source does not match the exchange record. Coinmarket cap values entered quantities with its own market data, while an exchange displays its venue-specific price and account balances. Reconcile units first, then compare transaction history and fees. A small price difference alone does not show that either ledger holds a different quantity.
When should the fill time replace the order time?
The fill time belongs in the record because it marks when the asset quantity and execution price became real. An order submitted earlier but executed later should use the execution timestamp, not the submission timestamp. For several fills, record each event or use one consistently aggregated entry with a representative timestamp and volume-weighted price. Preserve individual fills when chart timing or detailed reconciliation matters.
Does a manual position confirm that I own the recorded tokens?
A manual position does not confirm ownership because Coinmarket cap accepts user-entered transaction details without checking a wallet balance or controlling funds. The record shows what the entered history implies. An automatically updated on-chain address follows supported blockchain data, while a manual ledger remains editable. Ownership evidence comes from control of the relevant wallet or account, not from the displayed portfolio balance.
Where should an exchange fee paid in another token be recorded?
A fee paid in another token needs both the trade's fee value and a reduction in the separate token balance. Enter the supported fee value on the buy or sale, then use Transfer Out for the BNB or other fee token when a manual portfolio does not import that movement. Note the original quantity and venue so both asset records reconcile to the execution statement.
Are Coinmarket cap notes sufficient for tax reporting?
Coinmarket cap notes are annotations, not a complete tax-lot record. Tax reporting can require transaction identifiers, venue statements, wallet history, acquisition records, disposal proceeds and jurisdiction-specific lot methods that the portfolio view does not establish. Keep the primary execution and on-chain records alongside the tracker. Its average-cost performance calculation may differ from the method required for a particular filing.