Skip to main content

Which chain should your crypto checkout settle on?

A merchant's guide to networks, fees, finality and keeping your books in dollars when customers pay in crypto.

Updated 8 min readMarkdown
Which chain should your crypto checkout settle on?

"Which coins should we accept?" is usually the first question a shop asks when it adds crypto. I think it's the wrong first question. The better one is: where do you want the money to end up, and in what?

Customers care about paying with whatever is already in their wallet. You care about what lands in yours, what it cost to get there, how long until it's final and how your accountant will feel about it. Those are separate decisions, and treating them separately makes the whole thing much simpler.

I'll walk through how I think about it, using the networks Coldtill supports directly (Ethereum, Base, Polygon, BNB Chain, Tron, Solana and Bitcoin) as the examples, since that's the gateway we build and the trade-offs are ones I deal with every week.

Separate "accept" from "settle"

It helps to split the problem in two:

  • Settlement assets are what you're happy to hold. For most shops that's one or two stablecoins on one or two networks, and maybe Bitcoin if you actually want Bitcoin.
  • Accepted assets are everything a customer can pay with. That list can be much longer, as long as anything outside your settlement set is converted on the way in.

In Coldtill, settlement assets live on networks where you have a deposit wallet and your own nodes watching the chain. Everything else can come in through auto-convert: a swap provider, NEAR Intents 1Click by default, turns the customer's coin into USDC or USDT and delivers it to your cold wallet. That's where the "200+ coins on 35+ chains" figure comes from. You don't run nodes for any of those; you run nodes for the networks you settle on.

So the real decision is a short one: which one or two networks do you settle on?

What to weigh for each network

Fees, for your customer and for you

There are two sets of fees in a self-hosted setup, and people often only think about the first.

  1. The customer's fee to send the payment. This is their cost, but a high one means abandoned checkouts, especially on small orders.
  2. Your fee to move the money onward. With per-customer deposit addresses, funds eventually have to be swept from those addresses to your cold wallet, and that costs gas.

The second one is where design matters. Coldtill batches sweeps per network and only sweeps when it's worth it: by default when the unswept total reaches $100, when 20 addresses hold funds, or when the oldest deposit has waited 24 hours, and only if gas is a small enough share of the value. On Tron, sweeps can rent energy instead of burning TRX. Bitcoin is different: addresses are derived straight from your own wallet's public key, so payments land in your wallet and there's nothing to sweep at all.

As a rule of thumb, if your average order is small, a low-fee network for both the customer and the sweep matters more than anything else on this list. Ethereum mainnet is the most widely held but usually the priciest to transact on; Base, Polygon, BNB Chain, Tron and Solana are where small stablecoin payments tend to make more sense. Check current fees yourself, since they move.

Finality: when is it actually yours?

A transfer isn't settled the moment it's seen. Each network needs a number of confirmations before a payment counts, and reorgs, while rare on most chains, do happen. In Coldtill each network has its own configured confirmation count, block hashes are re-checked, and a deposit whose block disappears goes back to pending. For auto-converted payments on Solana, the delivery has to reach finalized before the order is credited.

What this means for a merchant is simple: faster finality means a shorter wait on the checkout page. For digital goods where the customer is staring at a spinner, that wait matters. For a physical order that ships tomorrow, it barely does.

At checkout the customer picks a network and coin; settlement networks stay direct and the rest go through auto-convert

Which stablecoin, and where

USDC and USDT are both available on most of these networks, and customers have strong habits. Some will only ever hold USDT on Tron; others have USDC on Base from an exchange withdrawal. If you settle in only one, the other customers either pay a conversion or go elsewhere.

A reasonable starting point for a lot of shops is one USDC network and one USDT network, and then watching what people actually use. In Coldtill, auto-convert can settle in USDC or USDT on Ethereum, Base, Polygon, BNB Chain or Solana, so you can pick one of those as the landing spot for converted payments too.

What you can do with the money afterwards

This one gets missed. If you'll need to send refunds or pay suppliers in crypto, check where your tooling supports outgoing payments. In Coldtill, payouts run from a small hot wallet on the EVM networks and Solana, with an address book, hourly and daily limits and admin approval for large ones. If refunds matter to you, settling on one of those networks keeps things simple.

Keeping the books in dollars

Accountants don't love a ledger in 40 tokens. The easiest way to keep them happy is to make sure every payment is recorded with a dollar value at the time it was paid, and that what you hold stays in stablecoins.

A few things make reconciliation easier, whatever gateway you use:

  • Price the order in USD. Coldtill payments are created with amountInUSD, and the webhook reports filled_amount_in_usd alongside the raw on-chain amounts. Stablecoins count as $1; other coins are priced from CoinGecko, with Coinbase as a fallback.
  • Store the on-chain detail. Each payment event includes a payment_info list with network, currency, amount, transaction hash and block number for every deposit. Keep it. It's your audit trail, and it lets you match deposits against your cold wallet's history.
  • Record conversions separately. Auto-converted payments carry a conversion array with what the customer sent (for example BTC), its USD value at the time and the stablecoin delivered. That difference is the swap cost, and it's useful to see it as its own line rather than buried in revenue.
  • Expect small differences. A payment within 1% of the amount owed counts as filled, and anything more than 1% above is flagged as over-filled. Decide how you book the leftovers before they pile up.
  • Only count money that actually arrived. With auto-convert, Coldtill treats the swap provider's status reports as hints, and only credits an order once your own nodes see the stablecoin land in your cold wallet with full confirmations. Your books should work the same way: revenue is what reached your wallet, not what a provider said was on its way.

The stats page splits revenue into coins kept directly and payments swapped through NEAR Intents, and shows what's still waiting to be swept

Exchanges, memos and the customers who pay from them

A surprising number of customers pay straight from an exchange account. That's fine on most direct routes, but some swap routes need a memo, which exchanges often can't add. NEAR Intents 1Click deposits need no memo, so customers can pay from an exchange; the optional THORChain fallback does need one, so those customers must pay from their own wallet. If a swap fails or the customer sends too little, the provider refunds the refund address the customer entered at checkout.

If a lot of your customers buy on exchanges, it's worth testing that path yourself before you launch.

A sensible default

If I were setting up a new shop tomorrow with no data on what customers hold, I'd do this:

  1. Settle in one cheap, widely used stablecoin network, plus a second one in the other stablecoin if your customers are split.
  2. Add Bitcoin directly only if you actually want to hold Bitcoin. Otherwise let it come in through auto-convert.
  3. Turn auto-convert on for everything else, with a slippage limit you're comfortable with (Coldtill allows 0.1% to 3%).
  4. Look at the "how customers paid" split after a month and adjust.

There's no perfect network. There's just the one that fits your order sizes, your customers and your accountant. If you want to see how these choices look in practice, there's a live demo dashboard with made-up data on coldtill.com, and the auto-convert docs go into the checks in more detail.

About the author

  • Coldtill is a self-hosted, non-custodial crypto payment gateway for merchants and developers. Run it on your own server with Docker, accept 200+ coins on 35+ chains, and have every payment forwarded to your cold wallet. REST API, webhooks, TypeScript SDK and a WooCommerce plugin.

No comments yet. Be the first to comment.