DePIN Tax and Accounting: tracking revenue, power cost, and depreciation without losing your mind

DePIN Tax & Accounting: Tracking Revenue, Power Cost, and Depreciation Without Losing Your Mind

Running decentralized physical infrastructure, GPUs for compute, disks for storage, radio hotspots, bandwidth relays, means you’re a tiny utility company with crypto rails. That’s cool. It also means real accounting: revenue recognition, cost allocation, depreciation, inventory/basis, realized gains, and clean documentation. This guide gives you a battle-tested workflow you can implement today to make your books accurate, defensible, and repeatable.

Important: This article is educational, not legal or tax advice. Rules vary by jurisdiction and change often. Document your assumptions and confirm with a qualified professional in your country before filing.

1) Map your DePIN business model (who pays you for what?)

Different DePIN verticals earn tokens for different services. Start by mapping what you sell, who your counterparty is, and how the protocol measures it. This informs revenue timing and the evidence you’ll need.

Common DePIN services

  • Compute: GPU hours, inference tokens/sec, render frames (e.g., distributed GPU networks).
  • Storage: sealed/verified data, retrievals (e.g., content-addressed storage networks).
  • Bandwidth / Relaying: GB relayed, latency SLA, regional coverage.
  • Wireless: hotspot coverage, proof-of-presence, data transfer (IoT/LTE).

How networks pay

  • On-chain distributions per epoch (protocol rewards).
  • Direct user payments (marketplaces/escrow).
  • Hybrid: base reward + job-specific top-ups.
Job Logs
Oracle/Index
Tx Hash
Price @ Receipt
Basis Lot
Your evidence chain: from work performed → on-chain receipt → fair value at receipt → lot creation.

2) Choose & document accounting policies (write them down!)

Before touching your ledger, lock policies. Small teams skip this step and regret it at tax time. A one-page policy memo saves hours later.

Policy choices (fill this in for your entity)

  • Method: Cash or accrual basis (what’s required for your jurisdiction / size)?
  • Revenue timing: Recognize income at token receipt or at service completion if determinable and collectible? (Often receipt = recognition for protocol rewards.)
  • Valuation source: Which exchange(s)/oracle(s) and timestamp for “fair value at receipt”? Define primary + fallback.
  • Token treatment: Classify held tokens as inventory, intangible, or other under your framework; define impairment policy.
  • Costing method: FIFO / LIFO / specific identification for token disposals (consistently applied).
  • Depreciation: Useful lives and methods by asset class (GPUs, rigs, racks, routers, PDUs, networking). Straight-line vs accelerated (where permitted). Salvage value assumptions.
  • Power allocation: Basis for kWh allocation (per node meter vs. percentage vs. runtime-hours). Treatment of demand charges, taxes, fixed fees.
  • Stablecoin policy: Auto-convert thresholds (e.g., convert ≥ 60% of new receipts weekly) and custody rules.
  • Materiality: De minimis thresholds for micro-receipts; batching policy (e.g., <$5 per tx aggregated daily).

3) Recognize token revenue and set your cost basis

Core idea: When you receive tokens for services, you generally book income at the fair market value at the time of receipt in your functional currency. That “fair value at receipt” also becomes your cost basis for future gain/loss when you sell or swap those tokens.

What to capture per payout

  • Wallet address (who received it) and legal entity (who owns it).
  • Transaction hash and block timestamp.
  • Token symbol & quantity received (net of protocol fees).
  • Fair value price at a specified timestamp (define the rule!) and the resulting fiat value.
  • Link to job logs proving the service (GPU hours, GB relayed, etc.).

Journal entry (receipt)

# Example: Received 120.00 TKN @ $1.25 each at 2025-08-03 14:07 UTC
Dr  Crypto Asset – TKN (Wallet A)            $150.00
    Cr Service Revenue – DePIN (Compute)     $150.00
# Memo: Tx 0xabc..., job batch 2025-08-03-1, price source: ExchangeX 1-min VWAP @14:07 UTC

Later, when you sell/swap that TKN, you calculate a disposal gain or loss compared to the basis ($150 in the example), using FIFO/LIFO/specific-ID per your policy.

CSV template: payout-to-lot creation

date, wallet, tx_hash, token, qty, price_source, price_ccy, price, fiat_value, service_type, evidence_url
2025-08-03, 0xWALLET_A, 0xabc..., TKN, 120.00, ExchangeX-VWAP-1m, USD, 1.25, 150.00, compute, https://logs/2025-08-03-1

Advanced: If your users pay you directly in stablecoins for jobs (not protocol rewards), the same logic applies: recognize revenue when earned/received per policy. If you use escrow or marketplaces, align your timing with when control of consideration passes to you (receipt or release event).

4) Allocate power & colocation costs (COGS, not a black box)

Power is your biggest cost. You need to (1) capture the bill structure, (2) measure per-node consumption, and (3) allocate fairly across jobs or networks. Three numbers matter: kWh (energy), kW (demand), and time-of-use rates.

Understand your tariff

  • Energy charges: per kWh, sometimes time-of-use (off-peak/peak).
  • Demand charges: based on your monthly peak kW draw (often 15-min window).
  • Fixed fees & taxes: connection fees, riders, local taxes.
  • PUE effect (colocation): power usage effectiveness; if your meter is at the PDU, facility overhead is often included in the rate; if you only meter GPUs, multiply by PUE to include cooling/overhead.

Power cost formula (per node per month)

EnergyCost = Σ (kWh_t × Rate_t)   # sum across time buckets t (TOU)
DemandAlloc = (NodePeak_kW / SitePeak_kW) × DemandCharge
FixedAlloc  = (NodeShare) × FixedFeesAndTaxes
TotalPower  = (EnergyCost × PUE_factor_if_needed) + DemandAlloc + FixedAlloc
COGS_Power  = TotalPower  → post to COGS (cost of revenue)

Measuring & allocating

  • Best: per-node smart PDUs or GPU-level telemetry sampling every 1–5 minutes; sum kWh by node.
  • Good: rig-level wattmeters; allocate across GPUs by runtime hours or utilization.
  • Fallback: percentage allocation by device TDP × utilization hours (less accurate; document assumptions).
  • Colo: if you pay a flat “per kW” fee, allocate by reserved capacity (kW) across nodes.

Journal entry (power bill)

# Example: Monthly utility bill $6,350: energy $4,800, demand $1,200, taxes/fees $350
Dr  COGS – Power (Energy)                       $4,800
Dr  COGS – Power (Demand)                       $1,200
Dr  COGS – Power (Fees/Taxes)                     $350
    Cr Accounts Payable – Utility               $6,350
# Allocation detail kept in workpapers (node-level kWh & shares)

5) Depreciation: GPUs, rigs, racks, routers, and what to expense

Capital expenditures (CapEx) become assets you depreciate over their useful life; repairs and consumables are expensed. Depreciation aligns cost with revenue over time and affects your taxable profit depending on local rules.

Typical asset classes & useful lives (example only)

  • GPUs/ASICs: 2–4 years (straight-line). High-duty cycles may justify 2–3 years.
  • Rigs/chassis/frames: 3–5 years.
  • Racks/PDUs/cooling: 5–7 years.
  • Routers/modems/antennas: 3–5 years.
  • Network cabling & accessories: 3–5 years.
  • Software licenses (term): amortize over license term.

Expense immediately (typically)

  • Thermal pads, paste, fans, minor repairs under your capitalization threshold.
  • Small tools and consumables.
  • Shipping/installation may be capitalized if material—define threshold.

Straight-line depreciation (simple and defensible)

# GPU purchase: $1,200 on 2025-02-01, useful life 3 years, salvage $0
Annual Depreciation  = (Cost − Salvage) / Life = $1,200 / 3 = $400
Monthly Depreciation = $400 / 12 = $33.33
JE monthly:
Dr  Depreciation Expense – GPUs                 $33.33
    Cr Accumulated Depreciation – GPUs          $33.33

Componentization: You can track components separately (GPU vs. rig vs. PDU) to reflect different lives. This gives cleaner upgrades (replace GPUs without “resetting” the rig’s life).

Impairment & retirement

  • If an asset becomes uneconomic (e.g., obsolete GPU), consider impairment: write down to recoverable value per local rules.
  • On disposal: remove cost and accumulated depreciation; record gain/loss.

6) Token lots, FIFO/LIFO, specific ID, and disposal gains

Every receipt creates a lot: quantity × basis (fiat value at receipt). When you sell/swap/bridge, you dispose lots and recognize gain/loss: Proceeds − Basis of disposed lots. Choose a method and stick to it.

Method How it works Pros Cons
FIFO First-in lots disposed first Simple; widely accepted Gains/Taxes can vary with volatility
LIFO Last-in lots disposed first May reduce gains in rising markets Not permitted everywhere; consistency required
Specific ID You pick lots (requires records at disposal) Tax optimization; precise Admin heavy; robust evidence needed

Journal entry (disposal)

# Sold 100.00 TKN for $170.00 cash; FIFO basis $120.00
Dr  Cash                                        $170.00
    Cr Crypto Asset – TKN (reduce qty/basis)    $120.00
    Cr Realized Gain on Disposal                $50.00
# Memo: Lots disposed: 2025-08-03 (100.00 @ $1.20)

7) Monthly close checklist (repeatable in 90 minutes)

Wallets & revenue

  • Export wallet transactions (all networks).
  • Group inbound receipts by token; map to jobs.
  • Apply fair value prices per policy; create lots.
  • Post revenue entries; reconcile totals to on-chain sums.

Costs & depreciation

  • Import power bill; allocate to nodes; post COGS.
  • Post colocation, internet, and maintenance.
  • Run monthly depreciation; review impairments.

Token disposals & treasury

  • Match sales/swaps to lots per FIFO/LIFO/ID.
  • Post realized gains/losses; reconcile exchange balances.
  • Revalue any FX/stablecoin holdings if required.

Evidence pack

  • Archive price snapshots & tx hashes.
  • Store job logs (hash or URL) for each payout batch.
  • Save power allocation workbook & meters export.
  • Close checklist signed by preparer & reviewer.

8) Chart of accounts & journal templates

A tidy chart of accounts (COA) prevents “miscellaneous” sprawl and speeds up analysis.

Suggested COA (excerpt)

  • 1000 Cash
  • 1100 Crypto Asset – Stablecoins
  • 1110 Crypto Asset – TKN (by token if material)
  • 1200 Accounts Receivable (if invoicing users)
  • 1500 PP&E – GPUs
  • 1510 PP&E – Rigs/Chassis
  • 1520 PP&E – Racks/PDUs
  • 1590 Accumulated Depreciation (by class)
  • 4000 Service Revenue – Compute
  • 4010 Service Revenue – Storage/Bandwidth
  • 5000 COGS – Power (Energy)
  • 5010 COGS – Power (Demand/Fees)
  • 5020 COGS – Colocation/Internet
  • 5030 COGS – Maintenance/Parts
  • 6000 OPEX – General & Admin
  • 7000 Realized Gain/Loss – Token Disposal

Recurring journals

  • Revenue recognition from wallet receipts.
  • Power COGS allocation.
  • Depreciation per asset class.
  • Disposals & realized gains.
  • Reclasses (if any) between wallets/exchanges/legal entities.

9) Controls, price sources, and audit-ready evidence

Auditors (and tax authorities) want to see controls, not heroics. Keep it boring and consistent.

Pricing policy

  • Primary source: e.g., Exchange X 1-minute VWAP at block timestamp rounded to nearest minute.
  • Fallback: Exchange Y, or median of X/Y if deviation > 2%.
  • Stablecoins: treat $1 unless market dislocation > 1%, then use market price.
  • Document the source, URL/API spec, and your rounding rule.

Evidence pack (per month)

  • Wallet CSV + tx hashes; chain explorer links.
  • Payout lots CSV (date, qty, price, fiat value, job batch link).
  • Price source exports (PDF/CSV) with timestamps.
  • Power meter export + allocation workbook.
  • Depreciation schedule (assets, cost, life, accumulated).
  • Exchange statements and balances as of month-end.
  • Close checklist signed & archived.

Close folder structure (copy)

/Close/2025-08/
  01_wallet_exports/
  02_price_snapshots/
  03_payout_lots/
  04_power_allocation/
  05_depreciation/
  06_disposals_gains/
  07_exchange_statements/
  08_reconciliations/
  checklist_signed.pdf

10) Treasury ops: stablecoins, rebalancing, FX, and cash runway

Revenue volatility is a treasury problem as much as an accounting one. Define rules so you’re not trading on emotion.

  • Auto-convert policy: Convert X% of new token receipts weekly into stablecoins to cover 3–6 months of operating costs (power, rent, payroll).
  • Wallet hygiene: Separate “operating wallet” (sell/expenses) from “treasury wallet” (strategic holdings). Use labels in your ledger.
  • Counterparty risk: If using exchanges/custodians, cap exposure per venue; reconcile balances monthly.
  • FX: If functional currency ≠ USD and you hold USD stablecoins, decide remeasurement policy for reporting.
  • Bridges: Treat cross-chain bridges as non-taxable transfers generally; record gas/fees as expenses; maintain tx links.

Runway math (quick)

Runway (months) = Stablecoin_Operating / Monthly_Burn
Monthly_Burn = Power + Colo + Internet + Maintenance + Payroll + Rent + SaaS
Target: Keep ≥ 4 months.

11) Common gotchas & FAQs

“Do I recognize revenue when the protocol accrues rewards or when I receive them?”

Most small operators use recognition at receipt because the amount is measurable, you control the token, and the chain gives a timestamp. If you accrue pre-receipt, you need robust evidence that you’ve earned it and will collect, more work for little benefit for most.

“Stablecoins are stable—do I still have gains/losses?”

Yes, if you hold non-functional currency assets. A $-pegged stablecoin can create FX differences if your books are in EUR/NGN/etc. Decide remeasurement and disclosure policy with your accountant.

“What about VAT/GST or sales tax?”

Providing compute/storage/bandwidth may be a taxable service in some places. If you invoice end users, you may have obligations. If you only receive protocol rewards, treatment may differ. This is jurisdiction-specific—document facts and ask a local pro.

“Airdrops and grants—revenue or capital?”

Protocol grants may be income or a capital contribution depending on terms and jurisdiction. Airdrops received by your business wallet are often income at fair value on receipt. Keep the docs and treat consistently.

“Testnet rewards?”

If tokens have no determinable market or are clearly non-economic, many teams ignore them for revenue until they are liquid and received on mainnet. If they are liquid or convertible, apply your normal policy.

“Can I expense GPUs instead of depreciating?”

Sometimes small purchases under your capitalization threshold can be expensed. Large purchases typically need capitalization and depreciation (or accelerated methods where allowed). Set and follow your threshold policy.

“Do I need separate books per legal entity?”

Yes. If you operate through multiple entities (e.g., one for hosting, one for operating), keep separate ledgers and intercompany entries. It simplifies taxes and liability separation.

Disclaimer: This guide is general education, not tax or legal advice. Policies and examples are illustrative; confirm treatments with a qualified professional in your jurisdiction. When in doubt, favor consistency, documentation, and conservative assumptions your future self (and your auditor) will thank you.