FAQ

Why am I receiving the same event twice?

Delivery is at least once, not exactly once. A timeout, a transient 5xx, or a slow acknowledgement causes halfin to redeliver, and the redelivered copy carries the same stable event id. Dedupe on that id and make your side effect a no-op the second time you see it; that is the intended way to handle redelivery.

related

Keep reading across the cluster.

Webhooks: signed payment events you can act onSigned payment events you verify and act onProducts questionsFrequently asked questions drawn from the halfin products pages. Each one links to a standalone answer.Are conversions auditable?Yes. Every conversion is recorded against your balance history as an explicit event with provenance, and your held balances are readable through the same…Are the balances I see in the dashboard final?Crediting is reorg-aware and respects per-chain confirmation thresholds, so a balance the dashboard shows as settled is one you can act on — it is not…Can a customer reuse the same deposit address for multiple payments?Yes — that is the point. The address is issued once per customer and network and stays valid indefinitely. Each deposit is credited independently with its…Can a finance or support team use the dashboard without engineering?Yes — that is the point of it. Once engineering wires the integration, finance and operations run invoicing, payout approval, reconciliation, and…Can a payout be sent without operator approval?No. Every single payout is created in pending_approval and waits for an operator with payout permissions to authorize it. Funds are reserved at creation…Can I auto-convert every payment to a stablecoin like USDT or USDC?Yes. Set your target settlement asset to a supported stablecoin and payments are converted toward it on credit, as long as a conversion route exists…Can I bill in fiat but let the customer choose the crypto?Yes. You set the fiat amount and currency (for example 49.00 USD); the customer settles in any supported asset and network — USDT on Tron, USDC on Base…Can I cancel a payout after creating it?Yes, while it is still pending_approval or approved but not yet executed. Once the transaction is signed and broadcast it is on-chain and final, so…Can I convert only part of a held balance?Yes. A manual conversion is bounded to the source amount you name, so converting part of an asset now and the rest later is simply two recorded…Can I fully restyle the page or use my own domain?Customization covers presentation and routing — branding, the offered networks, order context, and the return URL — not a full layout rebuild or a custom…