Accounting·

Month-End Close for Web3 Teams: A Step-by-Step Checklist

A practical month-end close checklist for Web3 finance teams — wallet reconciliation, fair value, accruals, intercompany, and the steps most teams skip.
Author avatar Wag3s TeamEditorial team specializing in Web3 finance, crypto tax, and DAO operations. Based in Zurich, Switzerland.

Reviewed by Wag3s Editorial Team · Last reviewed April 2026

Month-End Close for Web3 Teams: A Step-by-Step Checklist

Most Web3 finance teams either don't have a real month-end close, or they have one that takes 4 weeks and produces numbers nobody trusts. Here's a close playbook that actually works.

The pattern is familiar. The controller pulls Etherscan exports on the 5th. Someone notices a missing bridge transaction on the 12th. Fair value pricing gets done on the 18th using whatever timestamps are convenient. Payroll accruals happen the day before the report is due. By the time numbers reach leadership, the period is two-thirds over and half the inputs are stale.

This article walks through a structured close: what each phase covers, who owns it, and how to compress the cycle from 10+ days to under a week without cutting corners.

What "close" actually means in a Web3 context

In a Web2 company, month-end close means reconciling bank accounts, posting accruals, running depreciation, and locking the period in the ERP. Two or three data sources, mostly fiat, all denominated in one functional currency.

In a Web3 company, close means doing all of that, plus:

  • Reconciling on-chain wallets across multiple blockchains
  • Pricing every crypto asset at its block-timestamp fair value
  • Tracking unrealized and realized gains on volatile holdings
  • Classifying DeFi activity (LP positions, staking, lending) into accounting categories
  • Handling stablecoin payroll and contributor payments that span jurisdictions
  • Reconciling internal multi-sig transfers without double-counting
  • Documenting fair value for tokens that don't trade on regulated exchanges

The output should be the same: a balance sheet, income statement, and cash flow statement that an auditor can sign off on, produced on a predictable cadence. The path to get there is more involved.

The 5 phases of close: cutoff, reconciliation, valuation, accruals, review

Every close, Web3 or otherwise, moves through five phases. Skipping any of them creates the kind of gaps that surface during an audit, a fundraise, or a tax filing.

PhasePurposeTypical days
1. Cutoff and snapshotLock the period boundary, capture wallet balancesDay 1
2. On-chain reconciliationMatch transactions to records, resolve gapsDays 2-4
3. Fair value and impairmentPrice assets at period close, test impairmentDays 4-5
4. Accruals and entriesPayroll, intercompany, prepaid, accrued expensesDays 5-6
5. Review and lockVariance analysis, sign-off, post to ERPDays 7-8

Below is what each phase looks like in practice.

Phase 1 — Cutoff and wallet snapshot (Day 1)

The first task is establishing a clean period boundary. In fiat accounting, this is a date. In Web3, it's a date plus a block height.

Checklist for Day 1:

  • Record the closing block height for every chain you operate on (Ethereum, Solana, Polygon, Arbitrum, Base, etc.)
  • Snapshot wallet balances at that block height for every wallet on your map
  • Pull pending multi-sig transactions, noting any that were proposed before period end but executed after
  • Lock the off-ramp/on-ramp accounts: download exchange statements, custodian reports, banking statements
  • Flag any transactions in transit (bridges in flight, exchange withdrawals pending)

The block-height snapshot matters because chains keep producing blocks while you close. If you pull "current balances" on Day 5, you've captured Day 5 balances, not period-end balances. That difference is small for stablecoins and large for volatile assets.

A wallet map maintained year-round makes this phase trivial. Without one, you spend the first day rediscovering which wallets exist.

Phase 2 — On-chain reconciliation (Days 2-4)

This is where most close cycles get stuck. The work is straightforward in principle: every on-chain transaction in the period should be classified and matched to an internal record. In practice, the volume is the problem.

A team running operations across five chains with three multi-sigs and a handful of EOAs typically generates 500 to 5,000 transactions per month once you count gas, internal transfers, swaps, and contract interactions.

Reconciliation tasks for this phase:

  • Pull all transactions for all wallets between the opening and closing block heights
  • Normalize across chains (timestamps in UTC, common token registry, USD value at transaction timestamp)
  • Identify and link bridge transactions as single economic events, not double-counted transfers
  • Match outgoing payments to invoices, payroll runs, grant approvals, vendor records
  • Match incoming payments to customer invoices, protocol revenue, refunds
  • Classify swaps and DeFi activity (LP entry/exit, staking rewards, lending interest)
  • Tag inter-wallet transfers as internal (neither income nor expense)
  • Investigate every unmatched transaction before moving on

Tools like Wag3s Ledger reconcile on-chain transactions automatically, pulling data from 20+ chains and applying ML categorization based on your historical patterns. The point isn't to remove human review. It's to spend review time on the 5% of transactions that need judgment, not the 95% that follow obvious patterns.

For more on the multi-chain side of this work, see the Multi-Chain Reconciliation guide.

Phase 3 — Fair value and impairment testing (Days 4-5)

Under FASB ASU 2023-08 (effective for fiscal years beginning after December 15, 2024), in-scope crypto assets are measured at fair value with changes recorded in net income each period. That changes the close materially.

What this phase requires:

  • Identify which assets fall under ASU 2023-08 and which are excluded (wrapped tokens, stablecoins under certain criteria, NFTs, internally-developed tokens)
  • Pull period-end fair value for each in-scope asset using a principal market price
  • Document the price source, timestamp, and methodology for every asset
  • Calculate the unrealized gain/loss versus prior period carrying value
  • For excluded assets still on cost-basis or impairment models, run impairment testing
  • Document any tokens with no observable market price and the valuation approach used

Fair value documentation is what auditors will spend the most time on. The price you used, the source it came from, and why you used that source rather than another one all needs to be defensible. A note that says "CoinGecko, 23:59 UTC" is not enough on its own; you need the methodology written down.

For tokens received as protocol revenue or from grants where there's no liquid market, you'll need a separate Level 3 valuation (typically discounted cash flow or comparable asset pricing) and that work usually doesn't fit inside the close window. Build it as a quarterly process and reuse the result month-to-month with sensitivity testing.

Phase 4 — Accruals, payroll, intercompany (Days 5-6)

By this point the on-chain side is reconciled and the assets are valued. Phase 4 is the traditional accounting work, with a few Web3 twists.

Accrual checklist:

  • Payroll: salaries earned but not paid by period end, including stablecoin contributor payments scheduled for the following period
  • Vendor accruals: services received, invoice not yet booked
  • Prepaid amortization: SaaS subscriptions, audit retainers, conference deposits
  • Tax accruals: estimated income tax, payroll tax, VAT/GST where applicable
  • Token vesting: contributor token grants vesting in the period, recorded at grant-date fair value with the vested portion as expense

Intercompany is its own category. Most Web3 companies of meaningful size end up with multiple legal entities: a foundation, an operating company, sometimes a token issuer. Transactions between them need to be eliminated in consolidation:

  • Service charges between the foundation and operating co
  • Token transfers between entities (often a taxable event, depending on jurisdiction)
  • Reimbursements and management fees
  • Transfer pricing documentation for cross-border entities

Payroll deserves a separate note. Stablecoin payroll for contributors, particularly those paid through smart contract streamers (Sablier, Superfluid, etc.), needs daily accrual treatment, not month-end batch entry. The expense recognizes as the stream flows, not when the contributor withdraws.

Phase 5 — Review and lock (Days 7-8)

The final phase is variance analysis, review, and lock-down. The temptation is to skip it once the entries are posted. Don't.

Review checklist:

  • Compare current period to prior period: flag any line item with >20% movement and write a one-line explanation
  • Compare current period to budget: same threshold, same explanation requirement
  • Check balance sheet integrity: assets equal liabilities plus equity, intercompany nets to zero, deferred revenue rolls forward correctly
  • Run the trial balance and confirm every account has a clear classification
  • Document any judgmental entries (impairments, fair value Level 3, accrual estimates) with supporting workpapers
  • Have a second reviewer sign off: the controller reviews entries the staff accountant prepared, the CFO reviews the controller's package
  • Lock the period in the ERP and on-chain platform

The lock step matters. Once a period is closed, changes require a documented reopen, not a quiet adjustment. This is where most small finance teams drift. They leave periods "soft-closed" so they can keep tweaking, and six months later they can't tell which version of the numbers was reported to whom.

The pre-close steps that compress the cycle

A 3-day close is not faster work during the close. It's work moved earlier in the month so the close itself is shorter.

What gets pushed earlier:

  • Daily wallet sync: Pull on-chain transactions every day rather than monthly batches. By period end, 95% of transactions are already classified.
  • Real-time transaction tagging: Add descriptions to multi-sig transactions before execution. Use the Safe transaction note field. Tag in Slack or your treasury tool the moment a payment is sent.
  • Continuous fair value capture: Snapshot key prices weekly so period-end prices are sanity-checked against a trend, not pulled cold.
  • Standing accrual schedules: Maintain a running list of recurring accruals (payroll, SaaS, audit, legal retainers) so Phase 4 is mostly verification, not creation.
  • Wallet map maintenance: Every new wallet, every signer change, every contract deployment goes into the map immediately.
Time-to-closeProfileWhat enables it
10+ daysSpreadsheet-based, monthly batch reconciliationNone; this is the default state
5-7 daysERP + manual on-chain pulls, weekly taggingWallet map, recurring accrual schedule
3-5 daysPlatform-based reconciliation, daily syncAutomated on-chain ingest, ML categorization, integrated ERP
2-3 daysContinuous close, real-time recognitionSame as above plus pre-tagged transactions and standing fair value feeds

Common close failures (and red flags)

A few patterns show up in nearly every Web3 close that goes wrong.

FailureWhat it looks likeWhy it matters
Bridge double-countingSame transfer recorded as expense on Chain A and income on Chain BInflates both revenue and expenses, distorts margins
Stale fair valuePeriod-end prices pulled mid-month for convenienceMisstates asset values, fails ASU 2023-08
Missing internal transfersWallet-to-wallet movements treated as expensesCreates phantom expenses, deflates equity
Gas expense black holeGas booked as a single line item with no chain or function detailLoses traceability, fails audit sampling
Token vesting ignoredContributor token grants not accrued until withdrawalUnderstates compensation expense, surprises auditors
Intercompany imbalanceFoundation books a payment, operating co never books receiptConsolidation fails, requires manual plug
Soft-close driftPeriods left open "just in case"Reported numbers diverge from books, audit trail breaks
FX timing mismatchStablecoin paid at one rate, expense booked at anotherCreates phantom FX gains/losses

If you spot any of these in your current process, they're the first things to fix. The 10-day close usually isn't slow because the team is slow. It's slow because failures like these get rediscovered every month.

Tooling: spreadsheets, ERP, and platform-based close

Three patterns dominate Web3 finance ops today.

Spreadsheet-only close. Works for early-stage teams under $1M ARR with one chain and a handful of wallets. Breaks the moment you cross 200 transactions per month or add a second chain. Common failure: missing transactions, formula errors, no audit trail.

ERP plus manual reconciliation. QuickBooks, Xero, NetSuite, or SAP for the GL, with manual on-chain pulls into spreadsheets and CSV imports. Works for mid-sized teams but is labor-intensive (typically 1-2 FTE-weeks per month of spreadsheet work that doesn't scale).

Platform-based close. A Web3-native ledger handles on-chain ingest, categorization, fair value, and produces journal entries that flow into the ERP. The team's role shifts from data plumbing to review and judgment. This is what enables the 3-5 day close.

Wag3s Ledger sits in the third pattern. It connects to multi-sig wallets, EOAs, custodians, exchanges, and bank accounts; pulls transactions in real time across 20+ chains; categorizes automatically with corrections that train the model; produces eight financial reports including the period-end fair value workpapers; and exports clean entries to QuickBooks, Xero, NetSuite, or SAP.

The point isn't to replace the controller. It's to give the controller a starting position that's already 95% reconciled, so close time goes into review, not data entry.

FAQ

How long should a Web3 month-end close take? A reasonable target is 5 business days for teams using purpose-built tooling, 7-10 for teams running spreadsheet-heavy processes. Anything beyond 10 days usually means the process is broken, not slow. Public-company-equivalent close (3 days) is achievable but requires investment in automation and pre-close work.

Is fair value mandatory under ASU 2023-08? For in-scope crypto assets held by US GAAP filers, yes, for fiscal years beginning after December 15, 2024. Out-of-scope assets (wrapped tokens, NFTs, internally-developed tokens, certain stablecoins) follow the prior cost-or-impairment model unless your auditor concludes otherwise. Confirm scope determination per asset with your auditor.

How do we handle stablecoin payroll in close? Treat stablecoin payroll the same as fiat payroll for expense recognition: accrue based on services rendered, not on payment timing. Record the payment at the stablecoin's USD value on the transaction date (typically $1.00 for USDC/USDT, but verify if you use less liquid stablecoins). Streaming payments accrue daily.

What about DAO grants we received during the period? Recognize at fair value on the date of receipt. If the grant is in the DAO's native token and the token is illiquid, you'll need a Level 3 valuation. If the grant has milestone-based vesting, recognize as conditions are met, not when the tokens are transferred to your wallet.

Do we need separate close calendars per entity? Each legal entity needs its own close, but the calendars should align so consolidation is possible. Common pattern: subsidiaries close on Day 5, parent consolidates on Days 6-7, locked on Day 8. Misaligned calendars are a leading cause of intercompany imbalances.

Further reading


This article is for informational purposes only and does not constitute accounting advice. Month-end close practices depend on entity structure, accounting framework, and audit requirements. Consult your accounting team and auditor.

Editorial disclaimer
This article is informational and does not constitute accounting advice. Month-end close practices depend on entity structure, accounting framework, and audit requirements. Consult your accounting team and auditor.