FAQ

Can I use separate keys for sandbox and live?

Yes, and you should. A sandbox key is prefixed sk_test_ and runs against the same API as a live key, but it moves only test data — no real deposits, no real payouts, no real balance. That separation lets you build and verify your entire key-handling flow in sandbox first, so the day a live key is in play you are exercising code you have already proven, not testing in production.

related

Keep reading across the cluster.

halfin FAQ — how crypto payments work end to endHow halfin invoicing, checkout, deposit addresses, payouts, conversion, and webhooks work. Browse every question or read the cross-cutting answers.Can I create multiple API keys?Yes — and you should. Create one scoped key per integration so a leak is a one-key rotation, not an account-wide reset. Scopes are enforced server-side.How do I rotate an API key?Create a new key with the same scope, deploy it, then revoke the old one — so there's no window where requests fail. Rotate on a schedule and on suspected exposure.Are API keys scoped?Yes. A halfin API key carries only the permissions you grant it, scoped to the operations it needs — a read or invoice key cannot release payouts.Are API requests rate limited?Yes. Public auth endpoints are rate limited per IP and authenticated API-key requests are limited too. Design clients to back off and retry idempotently.Are crypto payments final?Yes — a confirmed on-chain transfer is irreversible and there are no chargebacks. Finality is a property of the chain, which is what makes reconciliation clean.Are there chargebacks with crypto payments?No. A confirmed on-chain payment is final, so there are no card-style forced reversals. A refund is a deliberate action you choose to issue.Are there monthly or setup fees?halfin's commercial pricing is not published on this site yet, so there is no monthly or setup figure to quote here. Building in the sandbox is free.Assets and networks questionsFrequently asked questions drawn from the halfin assets and networks pages. Each one links to a standalone answer.Can a customer pay an invoice late?A deposit that lands after a halfin invoice expires fires invoice.late_deposit — the funds are credited and matched to the invoice, and you decide how to treat the order.Can a customer reuse the same deposit address?Yes. A halfin static deposit address is persistent, so repeat deposits to the same address credit the same customer — no new invoice or address per top-up.Can I auto-convert incoming payments to a stablecoin?Yes. halfin balance conversion can run automatically toward a target asset such as a stablecoin, so incoming payments settle in one currency on credit.