guides21 min read

ERC-20 Token Journal Entries: A Complete Worked Example

ERC-20 token journal entries for one LINK holding across a year: settlement, a DEX swap, an allowance, a failed transfer, gas, remeasurement and tax basis.

M

Maksym Buhai

Accounting Engineer

September 15, 2026 · 21 min read

Cover reading "One crypto account is not enough.", beside a two-by-two grid of four rounded panels, the first filled solid charcoal with three pale bars and the other three drawn in dashed violet outline on a pale lilac fill

These ERC-20 token journal entries take one plain token, ETH gas, scope, valuation, tax lots and period-end reconciliation, and fit them into a single coherent set of books. The case is built on Wrenfield Labs, with US GAAP as the primary ledger, an IFRS bridge and a separate US tax-basis reconciliation.

The entity and the policies behind these ERC-20 token journal entries

Alice keeps the books for Wrenfield Labs Inc., a small US software company. Wrenfield is a C corporation, uses the accrual method for US federal tax, has a US-dollar functional currency, and has a 31 December 2025 year end.

The token is LINK on Ethereum mainnet, chain ID 1, contract 0x514910771AF9Ca656af840dff83E8264EcF986CA, 18 decimals, total supply fixed at 1,000,000,000 units, no owner function and not a proxy, each reading taken from the contract and kept in the token master. That pair, chain ID and contract address, is the asset identifier throughout. The ticker is a label on a report. The 18-decimal setting is what turns the contract's raw integer balance into a reportable quantity, and EIP-20 marks decimals OPTIONAL and warns that other contracts "MUST NOT expect these values to be present", so the reading is recorded rather than assumed.

Wrenfield holds LINK as an investment, not as inventory. The primary US GAAP ledger assumes LINK is within ASC 350-60, and the ETH held to pay Ethereum transaction fees is assumed to be in scope too. ASC 350-60-35-1 requires crypto assets to be measured at fair value in the statement of financial position, with gains and losses from remeasurement included in net income, so Wrenfield has two assets to remeasure at the reporting date, not one.

Before the year starts, Wrenfield documents four operational policies.

Price source

For LINK and ETH, it uses the Coinbase Exchange one-minute candle close for the UTC minute in which the event occurred. The year-end observation is the close for the minute beginning 31 December 2025 at 23:59:00 UTC. A fallback ladder is documented in advance. The policy choices behind that observation are worked through in ERC-20 Token Valuation for Accounting.

Book cost formula

For financial reporting, Wrenfield uses FIFO entity-wide.

This is a book accounting convention, not the US tax method. 26 U.S.C. 1012(c)(1) requires the conventions prescribed by regulations under section 1012 to be "applied on an account by account basis" for a specified security, and digital assets are inside that definition. Entity-wide FIFO is unavailable for US tax, so the tax-lot ledger is kept separately.

Quantity precision

The LINK quantity ledger stores raw integer units using the token's 18-decimal scaling. Display quantities are derived from the raw integers, because a balance rounded to eight decimals can fail to reconcile to the contract even when the dollar difference is immaterial.

Gas

Gas paid on a transaction that acquires LINK is capitalised as a directly attributable cost of that acquisition. All other gas is expensed in the period: as a network fee on an approval, a failed transaction or an own-wallet transfer, and as a transaction or selling cost where it relates to a disposal. Separately, and in every case, paying gas derecognises ETH at its FIFO carrying amount, and the difference between that carrying amount and the fair value of the gas goes to income.

The capitalisation half of that policy is an interpretive position, not a codified rule. The FASB recorded at BC36 of ASU 2023-08 that "the Board decided not to provide guidance on how to recognize or present transaction costs to acquire crypto assets", so the entity has to choose and document a treatment. Every gas line below traces back to this one.

The year's events

These ERC-20 token journal entries run across one calendar year. The case deliberately includes events a conventional accounting system can mishandle: payment in LINK, a swap on a decentralised exchange, approval without transfer, failed transaction, unsolicited token, internal wallet transfer, transferFrom, sale for cash, and year-end remeasurement. A decentralised exchange, or DEX, is a smart contract that swaps one token for another with no intermediary holding either side. A router is the contract an entity sends the swap transaction to, which then calls the token contracts on its behalf.

EventDateWhat happensQuantity effectKey dollar amount
E05 MarWrenfield buys ETH for gas+9.41062500 ETH$21,269.81 cost including fee
E16 MarInvoice issued in USD, payable in LINKno crypto yet$24,750 receivable
E214 MarCustomer settles invoice in LINK+1,694.02771300 LINK$24,763.30 LINK received
E39 MayWrenfield swaps ETH for LINK on a DEX-6.835 ETH, +983.55210000 LINK$16,075.03 ETH fair value, $16,012.23 LINK fair value
E3 gas9 MayGas for swap-0.000209827428 ETH$0.49
E417 JunUnlimited LINK allowance granted to routerno LINK movement$0.14 gas
E523 JulTransfer failsno token movement$0.40 gas
E628 AugUnsolicited unknown token arrivesunknown-token balance increasesno market identified
E716 Sep1,200 LINK moved to Wrenfield cold wallet-1,200 operating, +1,200 cold, net zero$0.21 gas
E821 OctRouter pulls 400 LINK under allowance and returns ETH-400 LINK, +1.84771200 ETH, -0.000225206954 ETH gas$7,214.40 LINK fair value, $7,193.51 ETH fair value, $0.88 gas
E919 Nov500 LINK sent to exchange and sold-500 LINK, -0.000030940884 ETH gas$6,440.13 cash net of fee, $0.09 gas
E1031 DecReporting date1,777.57981300 LINK, 4.4226555796 ETHLINK fair value $21,656.25, ETH fair value $13,121.31

One "crypto account" is not enough. Wrenfield needs at least a LINK quantity ledger, an ETH quantity ledger, a financial-reporting basis ledger, and a tax-basis ledger.

E0: buy ETH to fund gas

Wrenfield buys 9.41062500 ETH at $2,246.71 per ETH. The purchase price is $21,142.95 and the exchange fee is $126.86, a total book cost of $21,269.81.

Dr Digital assets - ETH        21,269.81
    Cr Cash                         21,269.81

The unit book cost is $2,260.19100750 per ETH, and every ETH outflow below is derecognised at that FIFO cost until the lot is exhausted.

On 6 March, Wrenfield recognises a $24,750 service receivable denominated in US dollars.

Dr Trade receivable            24,750.00
    Cr Service revenue              24,750.00

On 14 March, the customer settles with 1,694.02771300 LINK, valued by the selected market observation at $24,763.30.

The receivable is fixed in dollars, so it is a monetary asset and the LINK is not the contract's consideration. Where a contract does promise consideration in a form other than cash, ASC 606-10-32-21 requires the entity to "measure the noncash consideration (or promise of noncash consideration) at fair value", and ASC 606-10-32-23 then separates variation in that fair value arising only from the form of the consideration from variation arising for other reasons. On either reading the $13.30 is not additional service revenue. No authority was located addressing the settlement of a dollar-denominated receivable in tokens, so the treatment is this article's own analysis: derecognise the receivable at $24,750.00, recognise the LINK at its $24,763.30 fair value, and take the $13.30 to a settlement gain.

Dr Digital assets - LINK       24,763.30
    Cr Trade receivable             24,750.00
    Cr Gain on settlement                13.30

This becomes LINK Lot A: 1,694.02771300 units at $14.6180017068 each. The token's later price movements do not change the revenue recognised for the service. They are changes in the value of the asset received after settlement.

On 9 May, Wrenfield gives up 6.835 ETH in a DEX swap and receives 983.55210000 LINK.

At the event minute:

  • the ETH surrendered has fair value of $16,075.03
  • the LINK received has fair value of $16,012.23
  • the $62.80 difference is pool fee and slippage, recognised in the US GAAP ledger as a loss on execution
  • the transaction consumes 0.000209827428 ETH of gas with fair value of $0.49 against a FIFO cost of $0.47

Why the LINK goes on at its own fair value. ASC 350-10-40-1 sends the derecognition of a crypto intangible asset into Subtopic 610-20, ASC 610-20-15-2 confirms that "nonfinancial assets within the scope of this Subtopic include intangible assets, land, buildings, or materials and supplies", and ASC 610-20-32-3 measures the consideration by applying the Topic 606 transaction-price paragraphs, noncash consideration among them, which leads back to ASC 606-10-32-21 and fair value. ASC 845-10-15-4(k) keeps the transaction out of Topic 845, excluding "the transfer of a nonfinancial asset within the scope of Subtopic 610-20 in exchange for noncash consideration". Lot B's cost is therefore the $16,012.23 fair value of the LINK received plus the $0.49 of gas, that is $16,012.72.

That is a routing choice rather than a settled rule, because the Codification is circular here: ASC 610-20-15-4(g) excludes a nonmonetary transaction within the scope of Topic 845, and ASC 845-10-15-4(k) excludes the transfer of an ASC 610-20 asset for noncash consideration. An entity entering through ASC 845-10-30-1 instead would measure Lot B at the fair value of the ETH surrendered, $16,075.52 including gas, recognise no execution loss, and carry $27,682.62 of LINK book cost at 31 December 2025 rather than the $27,619.82 used below.

ETH is itself an ASC 350-60 asset here, so its carrying amount is considered separately from its fair value on derecognition. Wrenfield has no interim measurement date, so the 6.835 ETH still stands at its 5 March cost of $15,448.41 and is remeasured to $16,075.03 as it leaves, a gain of $626.62. The gas leg adds $0.02.

Dr Digital assets - LINK       16,012.72   [$16,012.23 fair value plus $0.49 gas]
Dr Loss on execution               62.80
    Cr Digital assets - ETH        15,448.88   [$15,448.41 principal and $0.47 gas, at FIFO cost]
    Cr Fair-value gain on ETH         626.64   [$626.62 on the principal and $0.02 on the gas]

The LINK received becomes Lot B: 983.55210000 units at $16.2805000366 each.

E4: grant an unlimited allowance

On 17 June, Wrenfield approves a router to spend LINK. No LINK moves. The transaction costs 0.000055724732 ETH, worth $0.14, against a FIFO cost of $0.13.

The accounting system should not invent a LINK disposal merely because an Approval event exists. The only immediate asset outflow is ETH gas.

Dr Network fee expense                   0.14
    Cr Digital assets - ETH                 0.13   [0.000055724732 ETH at FIFO cost]
    Cr Fair-value gain on ETH                0.01

The cent of gain is the difference between the $0.14 fair value of the gas and the $0.13 FIFO cost of the ETH that paid it. The same three-line pattern applies to every gas payment in the year: the price policy fixes the fair value and the FIFO ledger fixes the cost.

Operationally the allowance matters more than the $0.14 entry. Wrenfield adds the spender, token contract, approved amount, transaction hash and business purpose to its allowance register.

E5: failed transfer

On 23 July, a transfer fails. The transaction receipt carries a status of 0, the chain's own record that the transaction reverted and changed no balances. No token moves, but Ethereum still consumed 0.000112215234 ETH, worth $0.40, against a FIFO cost of $0.25.

failed transaction != zero accounting effect

The LINK quantity ledger is unchanged. The ETH quantity ledger falls, and under the gas policy the $0.40 is expensed as a network fee because nothing was acquired to capitalise it into.

Dr Network fee expense                   0.40
    Cr Digital assets - ETH                 0.25   [0.000112215234 ETH at FIFO cost]
    Cr Fair-value gain on ETH                0.15

E6: unsolicited unknown token

On 28 August, an unknown ERC-20 token appears in Wrenfield's operating address. Wrenfield did not request it and no market is identified. The chain proves that a contract attributed units to the address. It does not prove a recognisable asset with measurable value, so no journal entry is generated from the Transfer log and the item goes to an exception queue for token identity, transferability, market, legal rights, recognition and valuation.

At the year end the item is still unidentified. The FASB addressed this directly: BC38 of ASU 2023-08 records that "Board members agreed that the application of the guidance in Topic 820 may result in a fair value for those crypto assets that is minimal or zero". Wrenfield therefore carries the unknown token at nil, logs the contract address, the arrival and the conclusion, and keeps the exception open in case a market appears. The token appears in no bridge below because it has no measured amount, which is a documented judgement rather than an omission. The entry is nil. The record is not.

On 16 September, Wrenfield transfers 1,200 LINK from its operating address to its own cold address.

Operating wallet: -1,200 LINK
Cold wallet:      +1,200 LINK
Entity total:          0 LINK

There is no LINK disposal for book accounting, because the reporting entity still controls the same tokens. The transaction nevertheless consumes 0.000047505168 ETH, worth $0.21, against a FIFO cost of $0.11.

Dr Network fee expense                   0.21
    Cr Digital assets - ETH                 0.11   [0.000047505168 ETH at FIFO cost]
    Cr Fair-value gain on ETH                0.10

The event therefore produces no LINK journal entry and still requires an ETH journal entry.

The same transfer is decisive for US tax. Book FIFO is entity-wide, but Treas. Reg. 1.1012-1(j)(1) applies its ordering rule wallet by wallet to units "not held in the custody of a broker, such as in a single unhosted wallet", and that paragraph reaches a "transfer" as well as a sale. The basis attached to the 1,200 LINK moves with them.

The consequence lands in November. Under entity-wide book FIFO the 500 units sold on 19 November all come out of Lot A at $7,309.00, so the book loss is $868.87. Under the per-wallet rule the operating wallet no longer holds those Lot A units, so the sale takes 94.02771300 units of Lot A and 405.97228700 of Lot B, a tax basis of $7,983.73 and a tax loss of $1,543.60. One transfer between two addresses the same company controls, producing no journal entry and no taxable event, moved $674.73 of tax basis and widened the loss on the later sale by the same $674.73.

E8: the router uses transferFrom

On 21 October, the router exercises the June allowance. It pulls 400 LINK and returns 1.84771200 ETH.

Wrenfield sends the transaction to the router, and the router calls transferFrom to pull the LINK under the June allowance. Wrenfield therefore pays the $0.88 of gas, and the transaction does appear in its outbound transaction list. The control point is not that the transaction is missing. It is that the transaction is addressed to the router, so its own from, to and value fields name neither LINK nor the 400 units. The token, the amount and the counterparty exist only in the logs, because EIP-20 makes the Transfer event the record of a token movement.

The harder variant is the one where an approved spender originates the transaction. There the entity signs nothing, pays no gas and has no outbound transaction at all, while its balance still falls. That is the completeness problem. This event is the allowance problem.

At the event minute:

  • 400 LINK has fair value of $7,214.40 and a FIFO carrying amount of $5,847.20
  • the ETH received has fair value of $7,193.51, and is recorded at that amount on the same ASC 610-20 route as 9 May
  • the $20.89 shortfall is a loss on execution, measured the same way as the $62.80 on 9 May
  • gas of 0.000225206954 ETH, worth $0.88 against a FIFO cost of $0.51, is paid by Wrenfield

The 400 units have never been remeasured, because Wrenfield has no interim measurement date, so they are remeasured to their $7,214.40 fair value immediately before derecognition for a gain of $1,367.20, against which the $20.89 is a separate loss. The net result on the LINK is a gain of $1,346.31.

Dr Digital assets - ETH             7,193.51
Dr Loss on execution                   20.89
    Cr Digital assets - LINK            5,847.20   [400 units at FIFO basis]
    Cr Fair-value gain on LINK          1,367.20   [remeasurement before derecognition]

Dr Transaction cost - gas               0.88
    Cr Digital assets - ETH                0.51   [0.000225206954 ETH at FIFO cost]
    Cr Fair-value gain on ETH              0.37

Reporting one net gain of $1,346.31 instead understates both the gain and the loss, and ASC 350-60-50-3 asks for gains and for losses as separate lines in the annual reconciliation, with ASC 350-60-50-4(b) adding cumulative realised gains and losses from dispositions. The evidence is the token Transfer log, the allowance state, the router transaction and the before-and-after balances.

On 19 November, Wrenfield transfers 500 LINK to an exchange and sells them. Gross proceeds are $6,479.00, the exchange charges a 0.60 per cent fee of $38.87, and cash received is $6,440.13. The transfer consumes 0.000030940884 ETH, worth $0.09, against a FIFO cost of $0.07.

The 500 units come out of Lot A at a FIFO basis of $7,309.00, a book loss of $868.87.

Dr Cash                             6,440.13
Dr Loss on LINK disposed              868.87
    Cr Digital assets - LINK            7,309.00   [500 units at FIFO basis]

Dr Selling cost - gas                   0.09
    Cr Digital assets - ETH                0.07   [0.000030940884 ETH at FIFO cost]
    Cr Fair-value gain on ETH              0.02

The $868.87 is one line for two things: the remeasurement of the 500 units from their $7,309.00 basis down to their $6,479.00 fair value on 19 November, and the $38.87 fee. An entity that prefers to show the fee as a distinct selling cost can split the line without changing the total.

Five components have to stay separately identifiable behind that entry, and a single "sell crypto" record collapses all of them:

  1. cash proceeds of $6,479.00
  2. derecognition of LINK at the $7,309.00 carrying amount immediately before sale
  3. the sale result on the token
  4. the $38.87 exchange fee
  5. ETH gas derecognition and the ETH gain or loss

The LINK account now runs $24,763.30 plus $16,012.72 less $5,847.20 and $7,309.00, which is $27,619.82.

E10: year-end position

At 31 December 2025, the contract-state and subledger reconciliation show:

LINK: 1,777.57981300
raw LINK units: 1777579813000000000000
ETH: 4.422655579600000000
wei: 4422655579600000000

One wei is 10 to the minus 18 of an ETH, so the ETH ledger holds an integer number of wei exactly as the LINK ledger holds an integer number of the token's own 18-decimal base units. Ethereum.org sets out the denomination family, a gwei being one-billionth of an ETH. Both ledgers are stored as integers and scaled only for display.

The selected year-end market observations are LINK at $12.183 and ETH at $2,966.84, giving:

LINK fair value = $21,656.25
ETH fair value  = $13,121.31

Lot A cost $24,763.30 for 1,694.02771300 units at $14.6180017068 each. Lot B cost $16,012.72 for 983.55210000 units at $16.2805000366 each. Both 2025 disposals came out of Lot A under entity-wide FIFO, removing $13,156.20 of cost. The remaining LINK book cost before remeasurement is therefore $24,763.30 plus $16,012.72 less $13,156.20, that is $27,619.82: $11,607.10 for the 794.02771300 units left in Lot A, plus all of Lot B at $16,012.72.

$27,619.82 - $21,656.25 = $5,963.57
Dr Loss on remeasurement - LINK     5,963.57
    Cr Digital assets - LINK            5,963.57

The resulting carrying amount is $21,656.25.

ETH under ASC 350-60

The ETH is in scope too, so it is remeasured as well. The remaining 4.4226555796 ETH is carried at $13,013.37, being 2.5749435796 ETH of the 5 March lot at $2,260.19100750 each, or $5,819.86, plus the 1.84771200 ETH received on 21 October at its acquisition-date fair value of $7,193.51. Against a year-end fair value of $13,121.31 that is a gain of $107.94.

Dr Digital assets - ETH              107.94
    Cr Fair-value gain - ETH             107.94

The two are not netted. ASC 350-60-50-3(c) and (d) determine the gains line and the losses line "on a crypto-asset-by-crypto-asset basis", so the $107.94 ETH gain and the $5,963.57 LINK loss are reported separately. Wrenfield's total 2025 result on ETH under US GAAP is $672.43: $626.62 on the ETH surrendered in May, $0.67 across the year's six gas payments and $107.94 at the year end, less the $62.80 loss on execution.

An accountant who books only the LINK remeasurement closes the year with ETH carried at $13,013.37 against the $13,121.31 fair value printed in the same reconciliation, and understates net income by $107.94.

If the token fails the ASC 350-60 scope test it remains an indefinite-lived intangible under ASC 350-30, and it is not remeasured. ASC 350-30-35-18 requires it to be "tested for impairment annually and more frequently if events or changes in circumstances indicate that it is more likely than not that the asset is impaired", and the AICPA digital assets practice aid answers at Q&A 5 that "when an identical digital asset is bought and sold at a price below the entity's current carrying value, this will generally serve as an indicator that impairment is more likely than not", "regardless of when this occurs during the reporting period and whether the price recovers before the end of the reporting period". The test runs unit by unit, and the asset is written down to fair value at that point in time. That produces two dated write-downs rather than a year-end adjustment:

At 31 December 2025 the out-of-scope carrying amount is $18,858.07, being $8,045.88 for the 794.02771300 Lot A units at $10.133 and $10,812.19 for the 983.55210000 Lot B units at $10.993, against $21,656.25 inside ASC 350-60.

The income statements diverge by the same amount. The 2025 result on LINK is a loss of $5,472.83 inside ASC 350-60 and a loss of $8,271.01 outside it, a difference of $2,798.18, which equals the difference in carrying amounts. Both figures include the $13.30 gain on settling the receivable in LINK on 14 March, which the entries above book against the receivable rather than against the token. One wallet balance, two US GAAP carrying amounts and two US GAAP results, solely because the scope conclusion differs.

IFRS bridge

The IFRS version reaches IAS 38 by the residual intangible-asset route rather than by borrowing the IFRS Interpretations Committee's June 2019 agenda decision on holdings of cryptocurrencies, which on this article's own reading addresses a defined subset of cryptoassets that a plain fungible token does not fall into. It assumes IAS 38 applies, that Wrenfield elects the cost model, and that the LINK has an indefinite useful life because there is no foreseeable limit on the period over which it is expected to generate net cash inflows. That last conclusion is this article's own application of the useful-life analysis to a token with fixed supply, no expiry and no redemption date. The cost model is cost less any accumulated amortisation and any accumulated impairment losses, under IAS 38 paragraph 74, but amortisation does not bite, because IAS 38 paragraph 107 provides that an intangible asset with an indefinite useful life shall not be amortised. It is instead tested for impairment annually, and whenever there is an indication of impairment, under IAS 38 paragraph 108. That annual test is the authority for the year-end entry below.

Lot B initial cost

IAS 38 paragraph 47 provides that "if an entity is able to measure reliably the fair value of either the asset received or the asset given up, then the fair value of the asset given up is used to measure cost unless the fair value of the asset received is more clearly evident". The fair value of the LINK received is not more clearly evident than that of the ETH given up, so the ETH's fair value measures cost and Lot B is measured at $16,075.52, being $16,075.03 plus $0.49 of gas. That is $62.80 above the US GAAP amount, and under IFRS the $62.80 sits inside cost rather than in profit or loss.

Disposal presentation

IAS 38 paragraph 113 measures the gain or loss on derecognition as "the difference between the net disposal proceeds, if any, and the carrying amount of the asset" and provides that "gains shall not be classified as revenue", and IAS 38 paragraph 116 measures the consideration receivable under IFRS 15. The cost model has no interim remeasurement to unwind, so the 21 October exchange gives one result rather than a gain and a separate execution loss: a gain of $1,346.31, the $7,193.51 fair value of the ETH received less the $5,847.20 carrying amount of the LINK given up. The 19 November sale gives the same $868.87 loss as the primary ledger, and the $0.88 of gas is again recorded separately. Profit on the disposals is identical under both frameworks. Only the number of lines differs.

ETH used for gas

Under the cost model, handing over ETH derecognises it at cost, and the difference between that cost and the fair value of what is received is a gain or loss on disposal. That gives $626.62 on the 6.835 ETH surrendered in the May swap and $0.67 across the six gas payments, $627.29 in all.

The cost model gives no year-end uplift, so the $107.94 recognised under ASC 350-60 has no IFRS counterpart. The 1.84771200 ETH received on 21 October is carried at $7,193.51 against a year-end fair value of $5,481.87, so whether that lot carries an impairment turns on the unit of account chosen for the ETH holding under IAS 36. No guidance addressing the unit of account for a fungible token holding was located, and this article leaves it as a documented judgement rather than asserting an answer.

Recoverable amount is the higher of fair value less costs of disposal and value in use. IAS 36 paragraph 18 states that definition, and IAS 36 paragraph 21 allows fair value less costs of disposal to be used as recoverable amount where "there is no reason to believe that an asset's value in use materially exceeds its fair value less costs of disposal". Wrenfield takes that route because it has no use for the token other than to sell or exchange it. Fair value is $21,656.25 and costs of disposal are $129.94, the 0.60 per cent exchange fee a sale would incur, giving a recoverable amount of $21,526.31.

The IFRS book cost of the same 1,777.57981300 LINK is $27,682.62: $11,607.10 for the 794.02771300 Lot A units at $14.6180017068 each, plus $16,075.52 for Lot B's 983.55210000 units at $16.3443502383 each. That is the $62.80 above the US GAAP $27,619.82 explained at E3. The impairment charge is therefore $6,156.31.

Dr Impairment loss - LINK          6,156.31
    Cr Accumulated impairment - LINK   6,156.31

The IFRS carrying amount becomes $21,526.31. The charge exceeds the in-scope US GAAP loss of $5,963.57 by $192.74, being the $129.94 of disposal costs and the $62.80 IFRS put into Lot B's cost. The $129.94 is not a rounding artefact. It is IFRS deducting selling costs at the impairment step that IFRS 13 paragraph 25 does not deduct in measuring fair value.

Reversal then separates the frameworks permanently. IAS 36 paragraph 114 requires an impairment loss on an asset other than goodwill to be reversed "if, and only if, there has been a change in the estimates used to determine the asset's recoverable amount since the last impairment loss was recognised", capped by IAS 36 paragraph 117 at the carrying amount that would have existed without it. Reversal is required, not permitted. ASC 350-30 prohibits it outright. ASC 350-60 has no impairment at all. Three answers, one asset, one price.

MeasureAmount
US GAAP, inside ASC 350-60$21,656.25
US GAAP, outside ASC 350-60$18,858.07
IFRS, IAS 38 cost model$21,526.31
US tax basis$26,944.60

This is not a rounding issue. Each number answers a different accounting or tax question.

Why the US tax basis is not the book cost

The remaining US GAAP book cost before remeasurement is $27,619.82. The US tax basis is $26,944.60, being $17,541.60 for the 1,200 Lot A units in the cold wallet plus $9,403.00 for the 577.57981300 Lot B units left in the operating wallet. The difference is $675.22.

The 16 September own-wallet transfer created $674.73 of that difference. The remaining $0.49 is the 9 May gas, which the book ledger capitalised into Lot B and which Treas. Reg. 1.1012-1(h)(2)(ii)(B) allocates "exclusively to the disposition of the transferred digital assets", so it never reaches the LINK tax basis at all.

Book FIFO is applied entity-wide under Wrenfield's policy. For US tax it cannot be. 26 U.S.C. 1012(c)(1) requires the conventions to be applied on an account by account basis, and Treas. Reg. 1.1012-1(j)(1) applies its ordering rule to the units held in a single wallet, disregarding "the date any units were transferred into the taxpayer's wallet". Moving 1,200 LINK to the cold wallet changes which lots remain in the operating wallet and therefore which basis attaches to the later sale.

The token transfer produces no LINK book disposal, no taxable LINK sale, a real movement of tax basis between wallets, and a future difference in which lot is sold. That is why tax basis cannot be reconstructed safely from the book ledger after year end. The lot mechanics and the gas policy behind those numbers are worked through in ERC-20 Token Tax: Lots, Gas and Character.

The ETH reconciliation

Across the six on-chain actions for which the example lists gas, Wrenfield consumes 0.000681420400 ETH, an aggregate of $2.21. That is immaterial to the income statement but not to the quantity reconciliation: without those six outflows the closing ETH balance does not tie to chain state.

ETH is not only a fee budget in these accounts. It is a $13,121.31 asset at the reporting date, carried at fair value under the same standard as the LINK, and it produced $672.43 of 2025 income in its own right. A close that treats ETH as a gas meter and reconciles quantities only will miss the larger of the two numbers.

A small unexplained crypto quantity difference cannot be dismissed merely because the dollar value is small. Until investigated, it can represent a missing fee, omitted transaction, wrong parser, or compromised key.

Period-end reconciliation

The close is where these ERC-20 token journal entries are proved rather than asserted. The close uses five bridges.

0.00000000 opening LINK (Wrenfield held no LINK before 2025)
+ 1,694.02771300 customer settlement
+   983.55210000 DEX acquisition
-   400.00000000 DEX disposal
-   500.00000000 exchange sale
= 1,777.57981300 closing LINK

The 1,200 LINK cold-wallet transfer does not appear as a net entity-level change because it is both an outflow and an inflow within Wrenfield.

2. Wallet bridge

The entity-level total is split between operating and cold addresses and reconciled directly to balanceOf at the reporting block.

3. ETH bridge

Nil opening ETH, plus 9.41062500 ETH bought on 5 March and 1.84771200 ETH received in the October swap, less 6.83500000 ETH surrendered in the May swap and 0.000681420400 ETH of gas, must equal 4.4226555796 ETH.

4. Carrying-value and tax bridge

The quantity total is then connected separately to the ASC 350-60 fair-value carrying amount, the ASC 350-30 alternative carrying amount, the IAS 38 and IAS 36 carrying amount, and the US tax basis.

5. Allowance position

The unlimited allowance granted to the router on 17 June was drawn on in October and never revoked, so at 31 December the router can still move Wrenfield's entire LINK balance. The close queries the current allowance state for every material spender, ties it to the allowance register, records the business reason for leaving the authority open, and puts the decision in front of whoever authorises it. The allowance moves nothing by itself and appears in no bridge above, which is precisely why it has to be looked for.

Evidence required for each line

Each of these ERC-20 token journal entries has to be provable from something outside the ledger.

AssertionEvidence
Token identitychain ID 1 and contract 0x514910771AF9Ca656af840dff83E8264EcF986CA
Quantityraw contract balance at named block
Customer settlementcontract/invoice + Transfer log + price observation
DEX swaptransaction receipt + both token legs + market observations
AllowanceApproval event + current allowance query + register
Failed transferreceipt with failure status + gas record
Internal transferboth wallet ownership records + transaction hash
transferFrom disposalrouter transaction + token logs + allowance evidence
Saleexchange confirmation + bank record + on-chain transfer
Fair valuedocumented principal-market policy + raw price data
Tax basiswallet-specific tax lot register

The four mistakes this case is designed to expose

Mistake 1: booking every on-chain transfer as a disposal. The September transfer changes wallet location, not entity ownership.

Mistake 2: ignoring gas when the token movement is internal or failed. The June approval, July failure and September own-wallet transfer all consume ETH, and each derecognises ETH at its FIFO cost.

Mistake 3: parsing only a transaction's own from, to and value fields. The October swap is addressed to the router, so nothing in the transaction itself names LINK or the 400 units. Only the Transfer log does. And where an approved spender originates the transaction instead, there is no outbound transaction to parse at all.

Mistake 4: using one basis ledger for book and tax. The own-wallet transfer changes the US tax lot allocation by $674.73 even though the book ledger records no LINK disposal.

The accounting takeaway

A crypto transaction is not one journal-entry template. For every event, decompose the facts into token quantity movements, changes in ownership or custody, ETH gas consumed, assets or liabilities received or surrendered, book classification and measurement, tax basis and lot consequences, and the evidence that proves each assertion.

When those layers are separated, the blockchain becomes a strong source of evidence. When they are collapsed into a single "crypto transaction" record, errors in scope, quantity, gas, valuation and tax basis become difficult to detect. That decomposition is what turns a year of activity into ERC-20 token journal entries a reviewer can follow, and the same method applied to native ETH is in Ethereum Journal Entries: A Complete Worked Example.

How Tokenbooks helps with producing these journal entries

Entries of this shape are what Tokenbooks posts rather than what a preparer types. Every transaction is assigned an explicit operation type from an enumerated taxonomy, buy, sell, swap, expense, income and move among them, and the postings that follow are double-entry journal entries against a hierarchical chart of accounts you can edit, with a general ledger view behind them.

An inspectable lot ledger records every add, disposal, cut, move, reservation and release, which is where the movement behind Lot A and Lot B becomes auditable rather than asserted. A per-portfolio rules engine re-maps postings where a house convention differs from the default: conditions match on 17 fields with 11 operators, and actions set the counterparty, the ledger account or a responsibility-center split in basis points. On the US GAAP framework, ASC 350-60 fair-value remeasurement runs at period close, posting to an adjunct asset account against unrealised gain or loss and leaving the cost-basis lots untouched. The finished postings go to QuickBooks Online and Xero through an account mapping, an approval step and a batch that ties out.

Run a year of ERC-20 token journal entries through the Ethereum integration page.

More in this series

Accounting Token Anatomy: ERC-20 Tokens. This article stands alone, but the series builds in order.

Previous (02.1.5): ERC-20 Token Valuation for Accounting: Which Price to Use

Next (02.1.7): ERC-20 Token Tax: Lots, Gas and Character

All seven articles

Sources and further reading

  • FASB ASU 2023-08, Accounting for and Disclosure of Crypto Assets. storage.fasb.org
  • FASB ASU 2017-05, which amends ASC 845-10-15-4 and routes derecognition into ASC 610-20. storage.fasb.org
  • FASB ASU 2014-09, which contains ASC 606-10-32-21 on noncash consideration. storage.fasb.org
  • FASB ASU 2012-02, which contains the current ASC 350-30-35-18 and 35-20. storage.fasb.org
  • IAS 38, Intangible Assets. ifrs.org
  • IAS 36, Impairment of Assets. ifrs.org
  • IFRS 13, Fair Value Measurement. ifrs.org
  • IFRS Interpretations Committee, Holdings of Cryptocurrencies. ifrs.org
  • EIP-20. eips.ethereum.org
  • Ethereum.org, Gas and fees. ethereum.org
  • AICPA digital-assets practice aid. assets.ctfassets.net
  • 26 U.S.C. 1012. govinfo.gov
  • Treasury Regulation 1.1012-1. ecfr.gov
  • IRS digital assets. irs.gov This worked example is educational. Real entries depend on the complete facts, current accounting standards, tax rules, legal rights, chart of accounts, and the entity's documented accounting policies.

Frequently Asked Questions

Does moving tokens between your own wallets create a disposal?
Not for book purposes. The reporting entity still controls the same tokens, so the 16 September transfer of 1,200 LINK produces no LINK journal entry. It still consumes ETH gas, which is expensed and derecognises ETH at its FIFO cost. For US tax the same transfer moved $674.73 of basis between wallets.
Does an ERC-20 approval create an accounting entry?
Only for the gas. Approving a router moves no tokens, so an accounting system should not invent a LINK disposal merely because an Approval event exists. The single asset outflow is the ETH gas, $0.14 here, expensed as a network fee while the ETH leaves at its FIFO cost. The allowance itself goes on the register.
How is gas on a failed ERC-20 transaction recorded?
As a network fee expense. The 23 July transfer reverted with a receipt status of 0 and moved no tokens, but Ethereum still consumed 0.000112215234 ETH, worth $0.40. Nothing was acquired to capitalise it into, so it is expensed, and the ETH is derecognised at its $0.25 FIFO cost.
Why does one token holding have four different amounts?
Because each answers a different question. The same 1,777.57981300 LINK is $21,656.25 inside ASC 350-60, $18,858.07 outside it under ASC 350-30, $21,526.31 under the IAS 38 cost model, and $26,944.60 as US tax basis. Scope, framework and basis rules each produce their own number, and it is not a rounding issue.
Does ETH held only to pay gas need its own remeasurement?
It does when it is in scope. Wrenfield's ETH is assumed to be an ASC 350-60 asset, so at 31 December it is remeasured from $13,013.37 to $13,121.31, a gain of $107.94. An accountant who books only the LINK remeasurement understates net income by that amount.

Related articles

This is not tax, legal, or accounting advice.
Tokenbooks builds accounting software; we are not a CPA firm and not a tax adviser. Treatment varies by jurisdiction, by entity, and over time, and the rules described here can change after publication. Confirm any position with your own accountant or tax adviser before you rely on it.