inzi
Stablecoin payment infrastructure
Log in

Blog · accounting · bookkeeping · non-custodial · finance-lead · guide

Crypto Accounting Software for Stablecoin Payments: A Guide

Inzi Team · Published · 13 min read

Crypto accounting for stablecoin payments comes down to one job: turning on-chain transfers into ledger entries. Each incoming payment needs a timestamp, a token, a chain, a transaction hash, a fiat value at receipt, and an invoice it settles. Crypto accounting software automates that mapping by reading wallet addresses. With a non-custodial setup, the wallet is the source of truth, so the books reconcile against the chain itself.

What does crypto accounting software actually do?

Crypto accounting software connects to wallet addresses, reads the transactions on them, and turns those transactions into records an accountant can use. It does not hold funds and it does not move them. It is a reporting layer on top of the blockchain.

In practice the tools in this category cover five jobs:

  1. Ingest. Pull every transfer in and out of the wallets a business controls, across each chain.
  2. Classify. Label each transfer: customer payment, payout, internal transfer, network fee, refund.
  3. Value. Attach a fiat value at the moment of each transaction.
  4. Reconcile. Match incoming transfers to invoices or orders.
  5. Export. Produce journal entries or reports for a general ledger or an accountant.

For a business that only receives stablecoins and holds them, jobs 1, 3, and 4 carry most of the weight. Stablecoins are priced close to one unit of their reference currency, which removes much of the valuation complexity that volatile assets bring. Close to one is not the same as exactly one, and that gap matters later in this guide.

A spreadsheet can do all five jobs at low volume. Dedicated software starts to earn its cost when wallet count, chain count, or monthly payment count makes manual matching error-prone.

How does non-custodial settlement change the books?

In a custodial model, a processor receives the customer's payment, holds the balance in an account it controls, and later pays out to the merchant. The merchant's books then carry a receivable from the processor, and the processor's statements become the main source document.

In a non-custodial model the sequence is shorter. The customer pays, and the funds go straight to the merchant's own wallet. Inzi works this way: money never passes through an account Inzi controls. For bookkeeping, that has three concrete consequences:

  • No processor balance to reconcile. There is no intermediate account holding the merchant's money, so there is no "funds in transit" line that depends on a third party's statement.
  • The chain is the source document. Every receipt is a public transaction with a hash. An auditor can verify it independently of any vendor.
  • Wallet records are the ledger of cash. The merchant's wallet balance on a given date is a verifiable number, and the books can be checked against it.

The tradeoff is real. With a non-custodial setup, the merchant manages wallet security. Key management, access controls for the team, and recovery procedures are the merchant's own responsibility, and no support desk can reverse a mistake. For finance teams, that means the wallet is a cash account that needs the same kind of internal controls as a bank account: who can sign, who can view, who reviews. Software cannot substitute for those controls.

What should the ledger record for each payment?

Tax authorities and auditors tend to ask for the same handful of facts about each transaction. Many accountants capture these fields for every stablecoin payment:

Field Why it matters Example (illustrative)
Timestamp (UTC) Fixes the valuation moment and the accounting period 2026-10-02 14:07:33 UTC
Chain Determines where to verify the transaction Polygon
Token Identifies the asset received USDC
Amount in token units The quantity received 1,250.00
Transaction hash Links the entry to the public record 0x...
Receiving wallet Ties the entry to a specific cash account Merchant wallet A
Fiat value at receipt Basis for revenue recognition $1,250.00
Invoice or order ID Closes the receivable INV-2041
Network fee, if any Separate expense line, separate token 0.01 in the chain's native token

The example row above is illustrative, not a record of a real transaction.

Two items deserve extra attention.

The fiat value. For a USD-referenced stablecoin, many businesses book at the token's quoted market price at the time of receipt. In calm markets that is a fraction of a cent from $1.00. During a depeg it can differ meaningfully. Software that pulls a timestamped price feed, rather than assuming $1.00, produces a defensible record in both cases.

The network fee. A network fee is paid in the chain's native token, not in the stablecoin. It is a different asset with its own valuation, and an outgoing fee is a separate line from the payment it accompanied. Ethereum's own documentation describes how fees are denominated in the native currency (see the sources at the end of this post).

How do chains and tokens affect the ledger?

A business that accepts payments on several chains ends up with several wallet addresses, and each address needs its own place in the chart of accounts. The same token can also exist on more than one chain as separate contracts, which matters when reconciling balances.

Inzi supports six networks, and each carries a specific set of stablecoins:

Network USDC USDT EURC
Polygon Yes Yes No
Base Yes No Yes
Ethereum Yes Yes Yes
Tron No Yes No
TON No Yes No
Solana Yes No No

For accounting, this table translates into a structure. A merchant accepting every supported combination has up to ten token-and-chain balances to track (counting each yes above once). Most merchants will use far fewer. A common pattern is one sub-account per chain and token pair under a single cash parent, so the ledger shows both the total and the breakdown.

EURC deserves its own note. It is a euro-referenced token, so a business reporting in USD sees a currency conversion on every receipt, not just a price check. A business reporting in EUR sees the reverse for USDC and USDT. Whichever base currency a business books in, the fiat value field in the table above does more work for tokens referenced to a different currency.

Chain choice also shapes the cost side of the ledger. Each chain has its own fee mechanics, in its own native token, so the volume of small fee lines varies by chain. Per-chain details are in each chain's own documentation, for example Ethereum's and Solana's, both linked in the sources.

What does stablecoin revenue look like for tax purposes?

This section describes mechanics and cites a source. The rules differ by country and by entity type, and an accountant applies them to a specific situation.

In the United States, the IRS treats digital assets as property for federal tax purposes, and its guidance lists stablecoins among the assets covered. Under that framing, a payment received in a digital asset for goods or services is generally income measured at the fair market value at the time of receipt (source: IRS, "Digital assets" and its virtual currency FAQ, linked at the end of this post).

That has several consequences for the records described earlier:

  • Receipt creates a valuation event. This is why the timestamp and fiat value fields matter. The value at receipt is the figure that income reporting typically starts from.
  • Later disposal can create a second event. When a business later sends or converts the tokens it received, the difference between the value at receipt and the value at disposal can be a gain or a loss. For a stablecoin held close to par, that difference is usually small, but each disposal is still an event that needs a record.
  • Fees are separate items. A network fee paid in a native token is a disposal of that native token, with its own valuation.

Outside the US, treatment varies. Some jurisdictions apply VAT or sales tax to the supply of goods paid in crypto exactly as they would for any other payment method, and others have specific guidance for crypto payments. Businesses operating in the EU may also want to read how the regulatory regime for stablecoins affects what they can accept; Inzi's posts stay at the practical level, and xregos.com carries the regulatory depth.

For accounting standards, the picture is also evolving. Standard-setters have issued rules on how entities measure certain crypto assets, and whether a given stablecoin falls inside those rules depends on its design. That is a question for an accountant reading the standard against the specific token, not something software settles.

What does it cost to run stablecoin payments, and where does that show up?

A clean ledger needs a complete cost picture. For Inzi, the cost side is simple to book because it has one component:

  • Per-transaction fee: 0% on every plan.
  • Starter: $0/month, no subscription, for small merchants.
  • Growth: $49/month, includes batch payouts, for growing businesses.
  • Scale: $149/month, for high-volume merchants, through contact sales rather than self-serve signup.

For the books, that means the Inzi subscription is a fixed monthly expense line, and there is no per-payment fee to net against receipts. The amount that arrives in the merchant wallet is the amount the customer paid, less whatever network cost applies on the chain. See Inzi's pricing for the current plan details.

There are other cost lines outside Inzi that a ledger may need:

  • Network fees on outgoing transfers from the merchant wallet, paid in the chain's native token.
  • Accounting software subscription, which varies by vendor and by the number of wallets and transactions it supports.
  • Conversion costs if the business converts stablecoins to local currency through an exchange or another service. Those are charged by that service, not by Inzi.

Keeping these lines separate makes it easier to see what the stablecoin payment flow costs in total, and easier to compare against alternatives.

A worked example: one month of payments

The numbers below are illustrative. They show the shape of the ledger, not data about any real merchant.

Suppose a design agency invoices clients in stablecoins. In one month it receives:

  • 6 payments in USDC on Base, totaling $14,000
  • 2 payments in USDT on Tron, totaling $3,500
  • 1 payment in EURC on Ethereum, totaling the equivalent of $2,000 at receipt

The agency has three merchant wallet addresses in this example, one per chain, and the ledger looks like this:

Account Opening Receipts Disposals Closing
Cash: USDC on Base $0 $14,000 $0 $14,000
Cash: USDT on Tron $0 $3,500 $0 $3,500
Cash: EURC on Ethereum $0 $2,000 $0 $2,000
Revenue $19,500 $19,500

The month-end process then has four steps:

  1. Pull the balance of each wallet at the period cut-off and compare it to the ledger. Because each wallet balance is a public on-chain figure, a mismatch points to a missing or misclassified transaction, not to a disagreement with a vendor.
  2. Match each receipt to an invoice. Nine receipts, nine invoices. An unmatched receipt is either an overpayment, a deposit, or a payment from an unknown source, and each has a different entry.
  3. Check the fiat value on the EURC line. It is the only receipt whose value required a currency conversion, so it is the one most likely to be questioned.
  4. Record network fees on any outgoing transfers as a separate expense.

The example agency would also record its Inzi subscription as a monthly expense: $0/month on Starter, or $49/month on Growth if it uses batch payouts to pay contractors in one operation. The subscription price comes from the plan, and the 0% transaction fee means there is no deduction from the nine receipts above.

How do you choose crypto accounting software?

The right choice depends on what the business holds and how many places it holds it. The table below maps common situations to the features that matter.

Situation What to look for
One or two wallets, a few dozen payments per month A spreadsheet plus a block explorer may be enough
Several chains, several tokens Multi-chain wallet ingestion and per-chain classification
Invoices tracked in an existing accounting system Export or integration with the general ledger
Payments in tokens referenced to a different currency than the books Timestamped price sources with a visible audit trail
Team members with different access levels Read-only wallet connections, with no signing authority required
Auditor or tax authority review Transaction-level reports that link each entry to its hash

A few questions help separate vendors:

  • Does it need signing access? Reporting software reads public data. A tool that asks for spending authority over a wallet is asking for more than accounting requires.
  • Which chains does it read? Coverage should match every chain the business receives on. Tron and TON are not covered by every tool, so it is worth checking against the six networks above.
  • Where does the price come from? The valuation source and its timestamp resolution determine how defensible the fiat value is.
  • What happens to misclassified transactions? Internal transfers between a business's own wallets are the classic error: counted as both income and expense, they inflate both. Good tools let a user mark an address as owned.
  • Can the output be handed to an accountant? The most elegant dashboard is of little use if the accountant cannot take the data into their own system.

These are questions to ask any vendor. Inzi is a payment platform, not an accounting tool, and the two work side by side: Inzi moves the payment to the merchant wallet, and accounting software reads that wallet.

What are the real tradeoffs of this setup?

A fair account of non-custodial stablecoin accounting includes the costs.

Wallet security is the merchant's job. A custodial processor carries the burden of securing the funds, and a non-custodial model moves it to the merchant. For a finance lead, that means designing controls: multi-signature or equivalent approval for larger transfers, separation between the people who can view and the people who can move funds, and a documented recovery path. These controls are not optional extras; they are the cash controls of the business.

On-chain records are permanent and public. The same transparency that makes verification easy also means a wallet address's activity can be viewed by anyone who knows the address. Some businesses use separate addresses for different purposes to limit what a single address reveals.

Volume creates classification work. Every receipt is a transaction to classify, and every disposal is a possible taxable event in some jurisdictions. Small payments multiply the line count. Software reduces the effort, but a review step remains.

Price feeds are a judgment call. Two reasonable vendors can value the same transaction at slightly different prices. For a token near par the difference is small, but a consistent policy applied across the year matters more than the specific source.

Rules keep moving. Tax and accounting treatment of digital assets is still being refined in many jurisdictions. A ledger built on complete transaction-level data adapts to rule changes more easily than one built on summaries.

How do you set this up with Inzi?

The product steps are short, and each one reduces later accounting work:

  1. Create an Inzi account through registration and connect a merchant wallet that the business controls.
  2. Choose the networks and tokens to accept from the supported set in the table above.
  3. Use a dedicated receiving wallet per chain where practical, so each wallet maps to one ledger account.
  4. Connect those wallet addresses, read-only, to the chosen accounting software or spreadsheet process.
  5. Match each incoming payment to its invoice and close the period against wallet balances.

Because funds go directly to the merchant wallet, there is no payout schedule from Inzi to model in the books, and no Inzi-held balance to reconcile. The wallet balance is the cash balance. Businesses that pay out contractors or suppliers in batches can look at the Growth plan at $49/month, and the full plan comparison is on the pricing page.

Crypto Accounting Software for Stablecoin Payments: A Guide