Track positions as well as transfers
Decentralized finance applications can exchange assets, maintain liquidity positions, or record supplied collateral and borrowing. A useful ledger connects the movements into and out of those applications with the position that remains afterward. Otherwise, a deposit may look like an unexplained disappearance from the wallet.
Define what each record represents: tokens held directly, a claim on underlying assets, a position identifier, or a liability. Keep these categories explicit before combining values. Recording a receipt token and its underlying claim as two independent holdings can overstate the same economic position.
Capture the context needed to interpret a snapshot
Preserve the network, protocol, relevant contract or pool, position identifier, and account. Record asset quantities, debt quantities, associated transaction references, and the time or block of each observation. A liquidity position may require more context than the quantity of one token shown in a wallet.
Protocol measures also need a timestamp and definition. Aave's explanation of health factor shows how a borrowing measure depends on collateral, debt, prices, and protocol thresholds. Treat such a measure as contextual information about that position at that moment, rather than a permanent label.
Review the lifecycle in a consistent order
Identify the opening action and the assets it contributed. Then follow later additions, withdrawals, swaps, repayments, or other changes supported by execution evidence. Record fees in their actual assets and link related movements to the same action without collapsing unlike quantities into one total.
Compare the latest position evidence with that history. If amounts changed without an obvious wallet transfer, inspect the protocol's accounting and the period covered by the observation. Preserve an unresolved explanation when the available export cannot describe the position fully.
The DeFi swaps, liquidity, and lending guide follows these relationships in detail. Use the cross-account reconciliation guide to connect position activity with exchange and wallet records.
Keep recordkeeping separate from outcome assumptions
A displayed rate is not a completed receipt, and a current position value does not reveal every movement that produced it. Preserve the source and observation time of estimates, then distinguish them from quantities actually recorded in transactions or account state.
Contract permissions are another part of the picture. The Web3 permissions overview helps document continuing authority associated with an application. A position snapshot can explain what exists while leaving that authority question unanswered.