FAQ

Are API requests rate limited?

Yes — the halfin API is rate limited, and a well-behaved client is built to expect it. The public, unauthenticated auth endpoints are limited per IP address to blunt abuse and credential-stuffing, and authenticated requests carrying your API key are limited as well. The right response to a limit is not to hammer harder but to back off: pause, retry with increasing delay, and make your retries safe so a repeat never causes a duplicate effect. Treat rate limiting as a normal operating condition your integration handles gracefully, not an error state.

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.How do I authenticate API requests?Send your secret API key in the X-API-Key header on every request. Keys are scoped by permission, so a key that creates invoices cannot release payouts.What is an idempotency key and when do I use it?A client-supplied value that makes a create request safe to retry — resending the same key returns the original result instead of duplicating it.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 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.Can I bill in fiat and get paid in crypto?Yes. Set amount_fiat and fiat_currency on a halfin invoice; the customer pays the equivalent in any supported asset at the locked rate you bill against.