01
Assets and networks questions
Every question below was authored on a assets and networks page and now has its own answer page. Pick the one that matches what you are working on.
explore
Every question, one page each.
- Are Ethereum mainnet and the EVM L2s the same network for settlement?No. Base, Arbitrum, and Polygon share Ethereum's account and address model and EVM execution, but they are distinct chains with their own blocks, fee…
- Can a customer choose XRP, or do I have to create an XRP-only invoice?A single fiat-anchored invoice can present multiple supported assets, and the customer settles in whichever they hold — XRP on the XRP Ledger, BTC, a…
- Can a customer pay USDC on Base instead of Ethereum mainnet?Yes. Base is a separate EVM L2 that settles to Ethereum, and USDC is available there as a lower-cost route. A USDC payment on Base is a distinct deposit…
- Can a customer pay USDC on Ethereum if I'm set up for USDC on Base?USDC on Ethereum and USDC on Base are separate deployments with separate addresses, so each is its own asset-on-network option. halfin settles USDC on…
- Can a single invoice take both USDC and USDT?Yes. You bill in a fiat currency and the customer settles in any supported asset and network — USDC on Ethereum, Base or Solana, or USDT on Tron, Ethereum…
- Can halfin pay out on Arbitrum, not just receive?Yes. halfin sends from your balance to an Arbitrum destination address as single or batch payouts; the gas for that transaction is paid by the platform…
- Can halfin pay out on Base, not just receive?Yes. halfin sends USDC and native ETH from your balance to a Base destination as single or batch payouts; the gas for that transaction is paid by the…
- Can halfin pay out on Ethereum, not just receive?Yes. halfin sends native ETH and ERC-20 tokens from your balance to an Ethereum destination as single or batch payouts; the gas for that transaction is…
- Can I pay out ERC-20 USDT as well as accept it?Yes. USDT you receive on Ethereum accrues to a fiat-anchored balance you can disburse through single payouts or idempotent mass payouts, return to a…
- Can I pay out in USDC on Solana as well as accept it?Yes. USDC balances you receive can be sent back out as SPL transfers through single payouts or idempotent mass payouts, returned to a customer via…
- Can I pay out in USDT as well as accept it?Yes. USDT balances you receive can be sent back out through single payouts or idempotent mass payouts on the same supported networks, returned to a…
- Can I pay out in USDT on Solana as well as accept it?Yes. USDT balances you receive can be sent back out as SPL transfers through single payouts or idempotent mass payouts, returned to a customer via…
- Can I pay out in USDT on Tron as well as accept it?Yes. USDT balances you receive can be sent back out over TRC-20 through single payouts or idempotent mass payouts, returned to a customer via refunds, or…
- Can I pay people out over Tron, not just accept on it?Yes. halfin sends payouts over the Tron gate, so TRC-20 USDT is both an acceptance and a payout rail. Mass payouts fan out over the single-payout API with…
- Can I pay recipients out over Solana, not just accept on it?Yes. halfin sends payouts over the Solana gate, so SOL and Solana stablecoins are both acceptance and payout rails. Mass payouts fan out over the…
- Can I pay recipients out over Tron, not just accept on it?Yes. halfin sends payouts over the Tron gate, so TRC-20 USDT is both an acceptance and a payout rail. Mass payouts fan out over the single-payout API, and…
- Can I send USDT out as well as accept it?Yes. USDT balances you receive can be sent back out through single payouts or idempotent mass payouts on the same supported networks, returned to a…
- Can one invoice accept USDC on Base and on other networks?Yes. You bill in a fiat currency and the customer settles in any supported asset and network — USDC on Base, Ethereum, or Solana, or another supported…
- Can the customer underpay or overpay in BTC?Both are handled rather than lost. The invoice tracks the expected BTC amount against what actually arrives on-chain; an underpayment surfaces the…
- Do customers still need ETH to pay on Arbitrum?Yes. Arbitrum charges gas in ETH, exactly like Ethereum, so a customer needs a small ETH balance on Arbitrum to cover the fee even when the asset they are…
- Do I have to choose the network for the customer?No, and you generally shouldn't. Create a fiat-anchored invoice without pinning an asset, and halfin presents the supported USDT networks at checkout so…
- Do I have to hold the bitcoin after I receive it?No. Settled BTC accrues to a balance you control. You can keep it as bitcoin, convert it to a stablecoin through balance conversion to drop price…
- Do I need a separate integration to accept USDC on Solana?No. Accepting USDC on Solana is the standard halfin invoicing flow — you create a fiat-anchored invoice and SPL USDC is one of the networks the customer…
- Do I need a separate integration to accept USDT on Solana?No. Accepting USDT on Solana is the standard halfin invoicing flow — you create a fiat-anchored invoice and SPL USDT is one of the networks the customer…
- Do I need a separate integration to accept USDT on Tron?No. Accepting USDT on Tron is the standard halfin invoicing flow — you create a fiat-anchored invoice and TRC-20 USDT is one of the networks the customer…
- Do I need an invoice, or can I just give out a Bitcoin address?Both work. Use an invoice (or hosted checkout) when you are billing a specific amount for a specific order — the rate locks and the invoice expires. Use a…
- Do I pick the network when I create an invoice?No. You bill a fiat amount and commit to no network. The customer's asset choice on checkout resolves the rail, halfin issues the matching deposit…
- Do you accept ERC-20 tokens or only native ETH?Both. On Ethereum mainnet halfin accepts native ETH as a balance transfer and ERC-20 tokens as standard token transfers — including USDT and USDC, the two…
- How do I know a Tron payment actually settled?An invoice is marked paid only after the deposit reaches Tron's confirmation threshold, and crediting is reorg-aware — a chain reorganisation that unwinds…
- How do I know a USDC payment has actually cleared?From HMAC-signed webhook events. invoice.confirming fires when a payment is seen, and invoice.paid fires once it has held to the network's per-chain…
- How do I know a USDC payment is final?An invoice is marked paid only after on-chain confirmations reach the per-chain threshold for the network the USDC arrived on, and crediting is…
- How do I know a USDC payment on Base is final?An invoice is marked paid only after on-chain confirmations reach Base's own confirmation threshold, and crediting is reorg-aware — a transaction unwound…
- How do I know a USDT payment has actually cleared?From HMAC-signed webhook events. invoice.confirming fires when a payment is seen, and invoice.paid fires once it has held to the network's confirmation…
- How does Ethereum reach finality, and how does that affect crediting?Under proof-of-stake, a block is produced and then justified and finalized by the validator set over the following slots. A freshly included block can…
- How does halfin decide a Solana payment is final?halfin does not credit on first sight. Solana exposes progress as commitment levels — landed, then confirmed once a supermajority of stake has voted, then…
- How does halfin decide a Tron payment is final?halfin does not credit on first sight. The Tron gate waits for the network's confirmation threshold before marking an invoice paid; until then it sits in…
- How does halfin handle a network reorganization?Crediting is reorg-aware and respects each chain's confirmation threshold. An amount is only reported as settled once it has held to that threshold, so a…
- How does halfin handle confirmations and reorgs on Arbitrum?halfin waits for Arbitrum's confirmation threshold before flipping an invoice to paid, rather than crediting on a transaction's first appearance…
- How does halfin handle confirmations and reorgs on Solana?Crediting is reorg-aware and respects Solana's confirmation threshold. An SPL transfer is marked paid only after it has held to that threshold, not on…
- How does halfin handle confirmations and reorgs on Tron?Crediting is reorg-aware and respects Tron's confirmation threshold. A TRC-20 transfer is marked paid only after it has held to that threshold, not on…
- How does my backend find out an XRP invoice was paid?Through the same channels as any invoice: the dashboard, the REST API, or a signed webhook. The canonical events are invoice.confirming, invoice.paid…
- How does Solana order and confirm transactions?Solana is a proof-of-stake network that pre-orders transactions with proof of history — a verifiable hashed record of their sequence — and runs…
- How does the XRP Ledger reach finality without mining?It settles by validator consensus rather than proof-of-work. A network of validators agrees on which transactions belong in the next ledger version and…
- How does Tron reach consensus and produce blocks?Tron runs delegated proof-of-stake: token holders vote for a fixed elected set of block producers (Super Representatives), which take turns producing…
- How fast is a SOL payment credited?Solana confirms quickly and at a very low network fee, so the payer-side wait is short. halfin still applies a per-chain confirmation threshold and…
- How fast is a Solana payment credited?Solana confirms quickly and at a very low network fee, so the payer-side wait is short. halfin still applies a per-chain confirmation threshold and…
- How fast is an XRP payment credited?The XRP Ledger reaches consensus in a few seconds, so settlement is fast by design. halfin still credits the payment reorg-aware and against a per-chain…
- How long does a Bitcoin payment take to confirm?Bitcoin produces a block roughly every ten minutes, and halfin waits for the per-chain confirmation threshold before marking the payment paid. Treat the…
- How long does a BTC payment take to confirm?Bitcoin produces a block roughly every ten minutes, and halfin waits for the per-chain confirmation threshold before marking the payment paid. Treat the…
- How long does a TRX payment take to confirm?Tron is a high-throughput network and confirms quickly, but halfin still waits for the per-chain confirmation threshold before marking the payment paid…
- How long does an ETH payment take to confirm?Ethereum produces blocks on a fixed cadence, but a transaction is economically final only after it is justified and finalized by the validator set, which…
- How long until a Base payment is credited?halfin credits a Base payment once it clears the network's confirmation threshold — enough blocks on top of the deposit that it has effectively committed…
- How long until an Ethereum USDC payment is confirmed?Crediting is reorg-aware and waits for Ethereum's confirmation threshold before the invoice is marked paid, reflecting reorganizations rather than…
- How long until an Ethereum USDT payment is confirmed?Crediting is reorg-aware and waits for Ethereum's confirmation threshold before the invoice is marked paid, and it reflects reorganizations rather than…
- How many confirmations before an Ethereum invoice is marked paid?halfin waits for Ethereum's per-chain confirmation threshold before flipping an invoice to paid, and crediting is reorg-aware — if a chain reorganization…
- I price in dollars — does paying in ETH expose me to its price swings?No. You bill a fiat amount and currency; halfin pins the payable ETH amount from the live rate when the invoice activates and bounds it with an expiry…
- I price in dollars — does taking ETH expose me to its price swings?No. You bill a fiat amount and currency; halfin pins the payable ETH amount from the live rate when the invoice activates and bounds it with an expiry…
- If I bill in USD, what amount does the customer actually send?halfin maps your USD figure to the equivalent USDT amount using the live rate and locks it when the invoice activates. The customer is shown a concrete…
- If I bill in USD, what amount does the customer send on Ethereum?halfin maps your USD figure to the equivalent USDC amount and locks it when the invoice activates. The customer is shown one concrete USDC amount to send…
- If I bill in USD, what amount does the customer send on Solana?halfin maps your USD figure to the equivalent SPL USDC amount and locks it when the invoice activates. The customer is shown one concrete USDC amount to…
- If I bill in USD, what amount does the customer send on Tron?halfin maps your USD figure to the equivalent TRC-20 USDT amount using the live rate and locks it when the invoice activates. The customer is shown a…
- If I bill in USD, what USDC amount does the customer send?halfin maps your USD figure to the equivalent USDC amount and locks it when the invoice activates. The customer is shown a concrete USDC amount to send…
- If I bill in USD, what USDT amount does the customer send?halfin maps your USD figure to the equivalent USDT amount using the live rate and locks it when the invoice activates. The customer is shown a concrete…
- Is Arbitrum a different network from Ethereum, or the same one cheaper?It is a different network. Arbitrum is an Ethereum layer-2 that shares the EVM, the account model, and the address format, so the same wallet pays on both…
- Is choosing USDT enough, or do I need to choose a network too?You need the network too. USDT is deployed separately on Tron, Ethereum, and Solana — same dollar peg, different rails, different addresses. A customer's…
- Is paying in an ERC-20 token cheaper than paying in ETH?Network gas on Ethereum mainnet is paid in ETH regardless of which asset moves, so an ERC-20 transfer still costs the payer ETH for gas. That is a…
- Is this native BTC or wrapped Bitcoin on another chain?Native BTC on the Bitcoin network. The customer sends real bitcoin from their own wallet, the transaction is mined into a Bitcoin block, and halfin…
- Is this native ETH or wrapped ether on another chain?Native ETH on the Ethereum network. The customer sends real ether from their own wallet as a direct balance transfer, and halfin credits it after the…
- Is this native SOL or a wrapped token?Native SOL on the Solana network. The customer sends Solana's own coin straight from their wallet balance — it is not an SPL token and not a wrapped…
- Is this native TRX or a wrapped token?Native TRX on the Tron network. The customer sends real TRX from their own Tron wallet, the transfer is confirmed on Tron, and halfin credits it after the…
- Is this native XRP or a wrapped version on another chain?Native XRP on the XRP Ledger. halfin watches the XRP Ledger directly — there is no bridge, no wrapped token, and no representation of XRP issued on a…
- Is TRC-20 USDT the same dollar value as USDT on other chains?USDT is a single dollar-denominated stablecoin; the TRC-20, ERC-20, and Solana versions track the same dollar value, they just settle on different…
- Is USDC a regulated or guaranteed dollar?halfin describes USDC only as a dollar-denominated stablecoin: one unit is intended to track one US dollar. We make no regulatory, license, or guarantee…
- Is USDC on Base a different token from USDC on Ethereum?It is the same dollar-denominated stablecoin — one unit intended to track one US dollar — moving on a different network. halfin makes no regulatory…
- Is USDC on Base the same as USDC on Ethereum?No. USDC on Base and USDC on Ethereum are separate token contracts with separate addresses on separate chains, even though both redeem for the same…
- Is USDC on Ethereum a regulated or guaranteed dollar?halfin describes USDC only as a dollar-denominated stablecoin: one unit is intended to track one US dollar. We make no regulatory, license, or guarantee…
- Is USDC on Solana a regulated or guaranteed dollar?halfin describes USDC only as a dollar-denominated stablecoin: one unit is intended to track one US dollar. We make no regulatory, license, or guarantee…
- Is USDC on Solana the same as USDC on Ethereum?It is the same dollar-denominated stablecoin brand, but a different on-chain mint. USDC on Solana is an SPL token; USDC on Ethereum and Base are ERC-20…
- Is USDT a regulated or backed currency?USDT (Tether) is a dollar-denominated stablecoin — a token designed to track the US dollar one-to-one. For accepting payments, what matters to you is that…
- Is USDT on Tron the same as USDT on Ethereum?It's the same dollar token issued on a different network, but it is not interchangeable mid-payment. A payment sent on Tron arrives on Tron with Tron's…
- Mainnet gas is high for small payments — can the customer pay ETH on an L2 instead?Yes. Base, Arbitrum, and Polygon are EVM L2s that settle to Ethereum at a fraction of mainnet gas, and they are part of the same supported surface. An ETH…
- Should I accept SOL or a Solana stablecoin?Both run on the same Solana gate and can sit on the same invoice — it is a choice the customer makes at pay time, not a separate integration. SOL is for…
- Should I accept TRX or TRC-20 USDT?Most Tron payers hold TRC-20 USDT, so it is the higher-volume rail — but you do not have to choose. A single fiat-anchored invoice can present both on the…
- SOL moves in price — how do I avoid billing the wrong amount?The rate locks when the invoice activates, not when you draft it. The payable SOL amount is pinned for the life of the invoice, so a customer who pays…
- TRX is volatile — how do I avoid pricing exposure?Anchor the invoice to your fiat currency. halfin locks the rate when the invoice activates and computes the payable TRX amount from it, so the TRX figure…
- What happens if a Base payment comes in short?Because the invoice is dollar-anchored, an underpayment is recorded against it rather than discarded: you receive an invoice.underpaid webhook and can…
- What happens if a customer pays the wrong SOL amount?Both directions are handled rather than lost. The invoice tracks the expected SOL amount against what actually arrived on-chain; an underpayment surfaces…
- What happens if a transaction I already saw gets reorganized out?halfin's crediting is reorg-aware. If a chain reorganization unwinds a transaction that was already observed, halfin reflects that instead of treating the…
- What happens if the Bitcoin chain reorganizes?Crediting is reorg-aware. If a chain reorganization unwinds a transaction halfin was tracking, that is reflected rather than ignored — which is exactly…
- What happens if the customer underpays or overpays in TRX?Both are handled rather than lost. The invoice tracks the expected TRX amount against what actually arrives on-chain; an underpayment surfaces the…
- What happens if the Ethereum chain reorganizes?Crediting is reorg-aware. If a chain reorganization unwinds a transfer halfin was tracking, that is reflected rather than ignored — which is exactly why…
- What is a reorg and how does halfin protect against it?A reorg is when the Bitcoin network converges on a competing longer chain and drops the losing block's transactions, unwinding a payment that briefly…
- What is SPL, and is Solana USDC the same dollar as USDC elsewhere?SPL is Solana's token standard — the common interface tokens follow on Solana, comparable in role to ERC-20 on Ethereum or TRC-20 on Tron. Solana USDC…
- What is the difference between the Bitcoin network and the asset BTC?BTC is the asset — the bitcoin a customer holds and sends. The Bitcoin network is the protocol that moves it: the UTXO model, blocks mined roughly every…
- What is the difference between the XRP Ledger and the asset XRP?XRP is the asset — the currency a customer holds and sends. The XRP Ledger is the network that moves it: validators run a consensus protocol, close ledger…
- What is the difference between USDC on Ethereum and USDC on Base?Same token, same dollar anchor, different network. USDC on Ethereum is an ERC-20 token settled on Ethereum mainnet, favored by EVM-native and…
- What is the difference between USDT on Ethereum and USDT on Tron?Same token, same dollar peg, different network. USDT on Ethereum is an ERC-20 token settled on Ethereum mainnet, favored by EVM-native and institutional…
- What is the UTXO model and why does it matter for a payment?Bitcoin tracks spendable coins as unspent transaction outputs (UTXOs) rather than account balances. A transaction consumes whole UTXOs as inputs and…
- What is TRC-20, and is TRC-20 USDT the same dollar as USDT elsewhere?TRC-20 is Tron's token standard — the common contract interface tokens like USDT follow on Tron, comparable in role to ERC-20 on Ethereum. TRC-20 USDT…
- What's the difference between a stablecoin and a native coin here?A stablecoin (USDT, USDC) is pegged to the US dollar, so it settles close to the fiat amount you billed — ideal for invoicing and subscriptions. A native…
- Which asset should I use for everyday dollar billing?A stablecoin — USDT or USDC. They settle close to the figure you charged, so reconciliation is mechanical. TRC-20 USDT on Tron and stablecoins on Solana…
- Which assets can a customer pay with on Base?halfin settles USDC and native ETH on Base. USDC is the common rail — a widely held stablecoin that stays cheap to send on the L2 — and native ETH settles…
- Which assets can I accept on Solana?Native SOL and SPL tokens. For stablecoins that means USDC and USDT issued on Solana, both of which a payer can use to settle a fiat-anchored invoice…
- Which cryptocurrencies can I accept with halfin?USDT, USDC, Bitcoin (BTC), Ethereum (ETH and ERC-20 tokens), Solana (SOL and SPL tokens), XRP, and the native assets of Base, Arbitrum, Polygon, and BNB…
- Which network does halfin use for XRP?The XRP Ledger — XRP's own native ledger. XRP is not a token on a smart-contract chain; it settles directly on the XRP Ledger, which is why finality is…
- Which network is cheapest for the customer?Network fees are paid by the customer to the chain, not to halfin, so the cheaper rails are the low-fee networks — Tron for USDT, Base and Solana for…
- Which networks can I accept USDC on with halfin?Ethereum (as an ERC-20 token), Base, and Solana. Those are the three USDC rails halfin's deposit gates run. We do not accept USDC on any other network —…
- Which networks can I accept USDT on?Three: Tron (TRC-20), Ethereum (ERC-20) and Solana. These are the networks where halfin has a gate for Tether. USDT on any other chain is not accepted…
- Which networks can my customers use to pay USDC?Three: Ethereum (as an ERC-20 token), Base and Solana. These are the networks where halfin has a gate for USDC. You don't pick one when you create the…
- Which networks can my customers use to pay USDT?Three: Tron (TRC-20), Ethereum (ERC-20) and Solana. These are the networks where halfin has a gate for Tether. You don't pick one when you create the…
- Which networks does halfin settle on?Bitcoin (BTC), Ethereum (ETH and ERC-20), the EVM L2s Base, Arbitrum, and Polygon, BNB Smart Chain, Tron (TRC-20), the XRP Ledger (XRP), and Solana (SOL…
- Which Tron assets can I actually accept?Native TRX and TRC-20 tokens. In practice the TRC-20 token that matters for nearly every merchant is USDT — it is the most widely held stablecoin on Tron…
- Which USDC network should I steer customers to?Usually the one they already hold — but as a default, Base for everyday and smaller-ticket dollar payments because settlement is low-cost, Ethereum for…
- Who pays the Bitcoin network fee?The sender pays it to the network, not to halfin. Bitcoin block space is limited, so the fee floats with demand — confirming promptly costs more when the…
- Who pays the XRP Ledger fee?The sender pays it to the network, not to halfin. The XRP Ledger fee is small and exists mainly as an anti-spam measure rather than a bid for scarce block…
- Why accept USDC on Base instead of Ethereum?Cost. Base is an Ethereum L2 that settles the same dollar-denominated USDC for a fraction of mainnet's network fee, so it is the sensible default for…
- Why are transfers on Solana so cheap?Solana charges a small base fee per signature, paid in SOL, rather than pricing a value transfer through a floating gas market. Because the fee is tied to…
- Why are transfers on Tron so cheap?Tron uses a resource model rather than a single floating gas fee. Accounts hold bandwidth and energy — obtained by staking TRX, or covered by a small TRX…
- Why do Bitcoin payments take longer than some other networks?Bitcoin targets a new block roughly every ten minutes and finality is probabilistic, so halfin waits for confirmations to accumulate past its threshold…
- Why do most customers pay USDT on Tron?Tron's TRC-20 transfers tend to carry low network fees and the network has high throughput, which keeps a small stablecoin payment cheap and quick to…
- Why do so many customers pay USDT on Tron specifically?TRC-20 transfers tend to carry low network fees and Tron clears them at high throughput, which keeps a small stablecoin payment cheap and quick. That…
- Why does paying in USDT on Ethereum still cost ETH?Gas on Ethereum is always paid in ETH, regardless of which asset moves, because gas is the network's unit for the computational work of executing a…
- Why is paying on Arbitrum so much cheaper than on Ethereum mainnet?Arbitrum is a rollup: it executes transactions off mainnet and commits only compressed data back to Ethereum, which acts as its settlement layer. The…
- Why is sending a payment on Base cheaper than on Ethereum mainnet?Base is an Ethereum layer-2: transactions execute on Base's own blocks and the network posts its compressed data back to mainnet, rather than competing…
- Why is the network fee higher on Ethereum?Ethereum's gas cost is variable and rises when the network is congested, so the same USDC transfer can cost more on Ethereum than on Base or Solana. That…
- Why is Tron so commonly used for stablecoin payments?Low per-transfer network fee and fast confirmation. That combination makes small-ticket and high-frequency payments economic, which is why a large share…
- Why offer Solana alongside Tron or Ethereum?Because customers hold value on different rails. Solana's fast finality and very low network fee make it a strong default for small-ticket and…
- Why would a customer pay USDC on Solana rather than Ethereum or Base?Because that's where their USDC already is. A payer who holds USDC on Solana can pay from the wallet they already have open, without bridging the token to…
- Why would a customer pay USDT on Solana rather than Tron or Ethereum?Because that's where their USDT already is. A payer who holds USDT on Solana can pay from the wallet they already have open, without bridging the token to…
- XRP's price moves — how do I avoid the exchange-rate risk?You bill in fiat. You set an amount in USD or EUR and halfin converts to XRP and locks that quote when the invoice activates. The customer is shown a…