Glossary

Deposit address

A deposit address is the blockchain address a customer sends funds to. It is the destination on a network — Bitcoin, Ethereum, Tron, and so on — that a payment is directed at, derived from a key the recipient controls. When someone pays, they send a transaction to that address, and the recipient sees the incoming funds credited to whatever the address belongs to.

01

What a deposit address is

A blockchain address is a string that identifies a destination on a network. It is derived from a public key, which in turn comes from a private key the holder keeps secret. Anyone can send funds to an address, but only the party holding the matching private key can move funds out of it — so an address is safe to publish and hand to a payer, while the key behind it never leaves the recipient's control.

A deposit address is simply an address used to receive a payment. The payer creates a transaction that sends value to the address and broadcasts it to the network; once it is included in a block and confirmed, the funds are recorded against that address on-chain. Each network has its own address format and rules — a Bitcoin address is not valid on Ethereum, an Ethereum address is not valid on Tron — so a deposit address is always tied to a specific chain, and a payment must be sent on the network the address belongs to.

Addresses fall into two broad patterns. A single-use address is generated fresh for one payment and then retired, which keeps each transaction cleanly separated. A static, or persistent, address is reused over time to receive many payments to the same destination. Both are ordinary blockchain addresses; the difference is only in how the recipient assigns and reuses them.

02

What it means in a crypto payment

In a crypto payment flow, the deposit address is what the customer actually pays. The merchant's system presents an address (often alongside a QR code that encodes it), the customer sends the funds from their own wallet, and the payment service watches that address for an incoming transaction. Getting the address right matters more than almost anything else in the flow: funds sent to the wrong address, or to a correct address on the wrong network, can be unrecoverable, because there is no central party that can reverse a confirmed blockchain transaction.

Because an address is chain-specific, a deposit address always comes with an implied network. A USDT deposit address on Tron and a USDT deposit address on Ethereum are different strings on different chains, and a customer must pay on the network the address was issued for. This is why payment surfaces pair the address with the exact asset and network the payer is expected to use, rather than treating an address as a generic account number.

03

Deposit addresses on halfin

halfin issues deposit addresses across the chains it supports — Bitcoin, Ethereum and its ERC-20 tokens, the EVM L2s Base, Arbitrum and Polygon, BNB Smart Chain, Tron, the XRP Ledger, and Solana with its SPL tokens. When a customer pays an invoice, the amount is directed to an address on the chosen network, and halfin monitors that address for the incoming deposit, applying a per-chain confirmation threshold and reorg-aware crediting before the payment is treated as settled.

Alongside invoice payments, halfin offers static deposit addresses: persistent, per-merchant receive addresses used to fund a balance rather than to settle one specific invoice. Because a static address does not expire, a merchant can publish it once and have funds sent to it credited to the same balance over time, which suits ongoing account funding and recurring transfers. Each detected deposit follows the same settlement path — confirmation against the chain's threshold, reorg-aware crediting — and a balance.credited webhook lets an integration react once funds have landed.