Disposals export
Dashboard → Activity → Disposals → Export CSV downloads every
disposal inzi has recorded for your account. The same data is available from
GET /api/v1/reports/disposals?format=csv (JSON without format).
A disposal is a swap, a bridge, or a payout to someone else: an asset left your wallet and you received something else for it, or nothing. Moving funds between your own wallets is not a disposal and is not listed.
Cost basis is calculated with FIFO, per wallet and network: a disposal from one wallet only draws on what that wallet received.
An empty cell means not known. It never means zero. Where a value is
zero, the file says 0.
Columns
| Column | Meaning |
|---|---|
disposal_id | inzi’s identifier for the row. |
occurred_at | When the disposal happened (UTC, ISO 8601). |
source_type | swap (includes bridges), payout, wallet_outflow (a transfer you sent from a watched wallet outside inzi), or manual_sale. |
source_id | Identifier of the swap, bridge, payout row or wallet transaction that caused it. |
token | The asset that left the wallet. |
amount | How much of it left. For a swap this includes any inzi fee withheld from the amount. |
proceeds_eur | Market value of what the disposal brought in, in EUR. For a payout, the value of the asset paid out. |
cost_basis_eur | What the disposed amount cost when it was received, in EUR. Empty unless the cost basis is known for the whole amount. |
realized_gain_eur | proceeds_eur − cost_basis_eur. Empty unless the cost basis is known for the whole amount. |
method | Always fifo. |
rate_status | Where the rate behind proceeds_eur came from: spot_at_recording is the market rate when inzi recorded the disposal, taken at rate_at; historical_estimate is reconstructed from the ECB rate for the disposal date because the row was recorded later. |
reversed_at | Set when the row was reversed (for example, the payout address turned out to be your own wallet). A reversed row stays in the file for history and is not part of any total. |
reversal_reason | Why it was reversed. |
uncovered_amount | How much of amount has no known cost basis. |
cost_basis_status | complete: the cost basis is known for the whole amount. rate_unknown: the coins came from payments recorded before inzi captured rates, so their cost is lost. source_unknown: the coins reached this wallet outside inzi, so their cost has to come from your own records. rate_and_source_unknown: both. reason_not_recorded: the row predates this distinction. |
rate_at | When the rate behind proceeds_eur was taken. |
covered_amount | How much of amount has a known cost basis. |
covered_proceeds_eur | Proceeds of the covered part. Filled only when the cost basis is partly known. |
covered_cost_basis_eur | Cost basis of the covered part. Filled only when the cost basis is partly known. |
covered_realized_gain_eur | Gain on the covered part. Filled only when the cost basis is partly known. |
received_token | What you received in exchange. Empty for a payout: nothing came back. |
received_amount | How much of it. |
network | The network the asset left from. |
wallet_address | The wallet it left from. |
tx_hash | The transaction on that network. Empty when inzi does not hold the transaction hash (for example, some sponsored payouts, where only the operation hash is known). |
fee_token | The coin the network fee was paid in. |
fee_amount | Network fee you paid for this disposal. 0 means inzi paid it (sponsored transactions). Empty means unknown. For a payout of several rows, the fee of the transaction is split across rows in proportion to their amounts. |
fee_eur | The same fee in EUR. Empty when it could not be valued. |
destination | Who received the asset. third_party: you marked the address as someone else’s. unknown: you have not classified the address yet — the payout already reduces your lots as a disposal, and your answer in Transfers awaiting an answer settles it: Someone else keeps it and sets third_party, My wallet reverses the disposal and carries the original lots to your receiving wallet. Empty for swaps (what you receive back comes to you) and for rows recorded before this column. |
Reading the gain columns
Each row puts its known gain in exactly one place:
- cost basis fully known:
realized_gain_eur; - partly known:
covered_realized_gain_eur, forcovered_amountonly; - not known at all: nowhere.
Summing realized_gain_eur and covered_realized_gain_eur over rows that
are not reversed gives the known realized result. For the uncovered_amount
of each row, the cost basis has to come from your own records; cost_basis_status
says why it is missing.
The network fee is not part of amount, proceeds_eur or any gain column.
How to treat it is a decision for your accountant.
Calculated using FIFO. Verify with your accountant before filing. inzi does not provide tax advice.
Moving lots between your own wallets
In Reports → Transfers awaiting an answer, My wallet moves the original acquisition lots to the receiving address. Quantities leave the sending wallet by FIFO; each fragment keeps its acquisition date and cost. An incoming transfer observed at the receiving wallet does not become a second acquisition at the transfer-date exchange rate.
For example, 10 USDC acquired for EUR 9.00 retain EUR 9.00 of basis when moved to another wallet, even if their value is EUR 12.00 on the transfer date. A later disposal from that wallet uses the original basis. An already known own address is handled by the background reconciliation without another answer.
If you answer after later disposals have already used the receipt, inzi revises the affected allocations. Earlier journal entries stay in the history with their reversal reason; replacement entries retain the original proceeds valuation. A repeated pass or the same answer does not create extra quantities. The dashboard reports how many transfers and later allocations changed.
Holdings retain known quantities even when an acquisition cost is missing. Their cost is shown as unknown, with the known part and the unpriced quantity separately. Transferring an asset does not invent a missing source, rate or acquisition date. The expanded disposal row identifies transferred lots and their original acquisition date; the evidence package also lists external transfers between your own wallets.