Folio v0.9 — CEX + On-chain Consolidation is liveSee what's new →

Ethereum accounting, done the way an auditor reads it

Every ETH movement, every ERC-20 transfer, every DeFi position, every gas fee — reconciled to a wallet-level journal entry your CFO and your auditor can both sign off on.

L1Ethereum Native: ETH Supported since 2024

Ethereum is the chain most finance teams hit first and the one where the gotchas compound fastest. Smart-contract interactions are not journal entries; they're sequences of internal transfers that need decoding. Gas fees aren't a single line item; they're a per-transaction cost the IRS, HMRC, and DGFiP all treat differently. ERC-20 transfers look identical to native ETH transfers in the wallet UI but ride a fundamentally different path on-chain. Wag3s decodes the full picture — internal transactions, ERC-20 / ERC-721 / ERC-1155 contracts, EIP-1559 fees, withdrawals from staking, restaking through EigenLayer, position-by-position DeFi exposure on Aave, Uniswap, Curve, Lido, Pendle — and posts each to the right account in your subledger.

What's tracked on Ethereum mainnet

Native ETH transfers

Sent and received transfers, with EIP-1559 base fee and priority fee broken out per transaction so you can book gas on the right account.

ERC-20 token transfers

Every fungible token contract is decoded with the right name, symbol, and decimals — including USDC, USDT, DAI, WBTC, and the long tail of project tokens.

ERC-721 / ERC-1155 NFTs

NFT mints, transfers, sales, and royalties — with cost basis tracking against the original mint or purchase event.

DeFi positions

Aave, Compound, Maker, Uniswap V2/V3/V4, Curve, Balancer, Lido, Rocket Pool, Pendle, Morpho — positions enriched with APY and fair-value at every snapshot.

Restaking & LRTs

EigenLayer operator delegations, Liquid Restaking Tokens (eETH, ezETH, rsETH), AVS rewards, slashing events.

Gas & MEV

Per-transaction gas cost, builder tip attribution, MEV-Boost rewards for validators.

Smart-contract interactions

Decoded function calls and parameters via the contract ABI, with a fallback to opcode-level reconstruction for unverified contracts.

Layer 2 settlement

Deposits and withdrawals from every major L2 (Arbitrum, Optimism, Base, zkSync, Linea, Scroll, Starknet, Blast) reconciled across L1 + L2 wallets.

Common Ethereum transaction patterns we classify

  • Send / receive ETH
  • ERC-20 transfer (in / out)
  • Token approval (gas only, no balance change)
  • Uniswap / 1inch / Cowswap swap
  • Add / remove liquidity (Uniswap V2 LP, V3 position, V4 hook)
  • Aave / Compound supply / withdraw / borrow / repay
  • Lido / Rocket Pool / Frax stake / unstake
  • EigenLayer deposit / delegation / withdrawal
  • L1 → L2 deposit (Arbitrum, Optimism, Base bridge)
  • L2 → L1 withdrawal (7-day delay window for optimistic rollups)
  • NFT mint / sale / royalty distribution
  • Gas refund (transaction reverted, partial gas paid)
  • Multi-sig Safe execution (Gnosis Safe transaction service)
  • Airdrop receipt (token claim)
  • DAO governance vote (zero-value, gas-only)

What changes when you book Ethereum

Gas fees are not always deductible

Wag3s tags gas per-transaction and surfaces the right treatment based on your jurisdiction and entity type.

Token approvals consume gas but don't move tokens

An `approve()` call uses gas without changing token balances. We tag these as gas-only and exclude them from the realized-gain calculation; otherwise they would inflate transaction count and noise.

Reverted transactions still cost gas

When a transaction reverts on Ethereum, the gas is consumed. Wag3s books the gas paid and tags the transaction as `failed` so it doesn't pollute your DeFi position history.

Wrapped ETH (WETH) is not a swap

ETH ↔ WETH conversions are 1:1 wrap / unwrap operations, not swaps. We classify them as such — no realized gain, gas cost only.

EigenLayer adds three new event types

Deposit, delegation, and withdrawal each have different accounting treatment. AVS rewards (paid by services restakers operate) are separate income events. Slashing reduces the principal and may be deductible as a loss depending on jurisdiction.

Ethereum accounting questions

How does Wag3s handle the EIP-1559 base fee burn?

We capture the burn portion of every transaction's gas cost separately from the priority fee paid to the validator. For an operating company, both are typically expensed; for individuals, the burn portion may be treated differently than the priority fee in some jurisdictions. The split is exposed in the transaction detail and in the export.

Can we book wallet-level entries from Ethereum into NetSuite?

Yes. Wag3s posts daily journal entries to NetSuite (or QuickBooks, Xero, Sage, Pennylane, Cegid) with wallet-level granularity. Each entry references the on-chain transaction hash so an auditor can trace any GL line back to the source.

How are Lido stETH rewards classified?

stETH rebases — the balance grows automatically each block. We track the daily rebase delta as staking income and book it accordingly. When stETH is sold or redeemed, the cost basis follows the standard FIFO / LIFO / HIFO method you've configured.

Does Wag3s decode unverified contracts?

Partially. Verified contracts are decoded fully via Etherscan's ABI. For unverified contracts we reconstruct from raw transfer logs and known function selectors; you'll see the raw call decoded but with a `Manual review` flag on any pattern we can't classify automatically.

What about MEV — sandwiches, frontrunning, JIT liquidity?

We detect common MEV patterns (sandwich attacks, JIT liquidity adds-then-removes) and flag them. They're booked as ordinary swap / LP events but tagged for review — useful for a treasury that wants visibility into MEV exposure without re-classifying everything.

Book Ethereum the right way

Free during Alpha. Connect a wallet, see every transaction reconciled to journal entries.