01
Use cases questions
Every question below was authored on a use cases page and now has its own answer page. Pick the one that matches what you are working on.
explore
Every question, one page each.
- A request to an overseas publisher timed out — did I just pay them twice?No, if each line carries an idempotency key. Re-submitting the same key after a timeout, restart, or manual re-run returns the payout halfin already…
- Are course payments reversible like card chargebacks?No. Once invoice.paid fires under the chain's confirmation threshold, the payment has settled on-chain and there is no issuer-initiated reversal, so the…
- Are crypto casino deposits really chargeback-proof?A confirmed on-chain deposit is final — the sender can't reverse it the way a cardholder files a chargeback weeks after a bet settles, which closes the…
- Are crypto deposits really chargeback-proof?A confirmed on-chain deposit is final — the sender cannot reverse it the way a cardholder can file a chargeback weeks after a bet has settled. That closes…
- Are crypto payments through halfin reversible like card chargebacks?No. Once a payment is credited under the chain's confirmation threshold, it has settled on-chain and there is no issuer-initiated reversal. If you want to…
- Can a casino or sportsbook accept USDT deposits through halfin?Yes. You create a fiat-anchored invoice and the player pays in a supported asset such as USDT on Tron, Ethereum, or Solana. halfin credits the deposit…
- Can a CFD broker take deposits and pay withdrawals through the same integration?Yes — that is the point of using halfin for a CFD platform. Deposits are fiat-anchored invoices presented on hosted checkout; withdrawals are single…
- Can a creator withdraw in a different asset than they earned?Yes, through balance conversion. If the creator's balance is held in one asset but they want to withdraw USDC, conversion — automatic or manual — sits…
- Can a customer charge back a crypto payment made through halfin?No. A confirmed on-chain payment settles on the blockchain, not inside a card network, so there is no issuer and no dispute mechanism that can reverse it…
- Can a customer in any country pay my store this way?Anyone with a wallet on a network you enable can pay — there is no issuing bank in the path to apply a geographic decline. They pay from their wallet…
- Can a customer not receive their download if they close the tab after paying?No — as long as you drive delivery from the webhook, not the redirect. The signed invoice.paid webhook is a server-to-server message that arrives whether…
- Can a disbursement run accidentally pay a recipient twice?No, when each line carries a deterministic idempotency key derived from your award records (for example award id + cycle). If the run is re-submitted…
- Can a marketplace pay its sellers through the same account?Yes. You collect from buyers into your halfin balances, optionally consolidate with balance conversion, then settle sellers with mass payouts. Batch…
- Can a payout go out without someone approving it?No. Every payout is created in pending approval and waits for an operator with payout permissions to authorize it. Funds are reserved at creation but…
- Can a player withdraw to a different asset or chain than they deposited?Each payout line names its own currency and network, so you control which asset and chain the cashout goes out on. Because deposits and withdrawals run on…
- Can a publisher pick which chain their instant payout settles on?Yes. Each payout line picks its own currency and network, so one publisher can take USDT on Tron, another USDC on Solana or Base, and another native SOL…
- Can a sportsbook accept USDT deposits through halfin?Yes. You create a fiat-anchored invoice and the bettor pays in a supported asset such as USDT on Tron, Ethereum, or Solana. The credited balance is pinned…
- Can a student pay USD-priced tuition in crypto from another country?Yes. The school creates a fiat-anchored invoice quoting tuition in USD or EUR, and the student pays the equivalent in a supported asset such as USDC or…
- Can a student pay USD-priced tuition in USDT or USDC?Yes. You create a fiat-anchored invoice quoting the course price in USD or EUR, and the student settles the equivalent in a supported asset — commonly…
- Can a trader fund a challenge with USDT instead of a card?Yes. You create a fiat-anchored invoice for the challenge fee and present it on hosted checkout; the trader settles in USDT, USDC, or a supported native…
- Can an online school accept USDT tuition payments through halfin?Yes. You create a fiat-anchored invoice quoting tuition in USD, and the student pays the equivalent in a supported asset such as USDT on Tron or Solana…
- Can an operator approve a payout run before money moves?Yes. halfin separates building a payout from authorising it — an operator approves before funds leave your balance, and API keys are scoped so the…
- Can creators be paid in a different asset than the platform collects?Yes, through balance conversion. If your platform takes income in one asset but a creator wants paying in USDC, conversion — automatic or manual — sits…
- Can crypto deposits be charged back after a bet settles?No. A confirmed on-chain deposit is final — a bettor cannot dispute the deposit with their bank weeks after a bet has graded and a winner has been paid…
- Can different affiliate networks be paid in different assets in one run?Yes. Every payout line picks its own currency and network, so a single settlement can send USDT on Tron, USDC on Ethereum or Base, native SOL, and BTC at…
- Can different recipients be paid on different chains in one run?Yes. Each payout line picks its own currency and network, so a single run can pay an author in USDC on Base, a bounty hunter in USDT on Tron, and a…
- Can halfin auto-charge a customer's wallet each month?No, and no crypto rail can. A wallet signs a transaction only when its owner chooses to; there is no token you can charge unattended. Recurring billing in…
- Can halfin auto-charge a fan's wallet each month?No, and no crypto rail can. A wallet signs a transaction only when its owner chooses to; there is no token you can charge unattended. Subscription…
- Can halfin pay affiliates in countries my bank won't send wires to?Yes — that's the core reason to use it here. A crypto wallet address doesn't depend on a correspondent-banking route, so a publisher in a market your bank…
- Can halfin pay thousands of creators in one run?Yes. A mass payout is a fan-out over the payout API: one call per creator, each carrying its own idempotency key derived from your run identifier…
- Can I bill usage-based or metered plans in crypto?Yes. Tally the period's usage in your own system, then create a single invoice for the metered total once the period closes. It uses the same invoicing…
- Can I issue a partial tuition refund?Yes. A refund can return the whole paid amount or part of it, against the original invoice. That covers a student who withdrew partway through and is…
- Can I pay a share in a different asset than the income arrived in?Yes, through balance conversion. When a share is owed in an asset you do not hold enough of, you convert held balance into the payout asset, confirm it…
- Can I pay a whole final table in one run?Yes. A prize pool is a mass payout — a fan-out over the single-payout API where each prize line is its own payout with its own idempotency key. You submit…
- Can I pay a whole payout day in one go?Yes. A payout run is a fan-out over the same single-payout API: many payouts submitted together, one idempotency key per line. There is no separate batch…
- Can I pay contractors in different countries on the chains they prefer?Yes. Each payout line picks its own currency and network, so one run can send USDT on Tron, USDC on Ethereum or Base, native SOL, and BTC at the same…
- Can I pay developers and affiliates from the same balance?Yes. Single payouts settle one approved payment to one destination; mass payouts send an idempotent batch for a whole payout run, so a retry never pays…
- Can I run VIP rebate and affiliate batches on the same rails?Yes. Bulk withdrawal runs fan out over the single-payout API with a deterministic idempotency_key per line, so a run that's retried after a crash pays…
- Can I sell prepaid credit instead of billing after the fact?Yes, with the same primitive used differently. A prepaid top-up is an invoice for a fiat amount the customer chooses; on the invoice.paid webhook you…
- Can my crypto settlements be put into a rolling reserve?No. A rolling reserve is something a card acquirer does to manage its own chargeback exposure. A confirmed crypto payment credits to your balance once it…
- Can my online store accept USDT and USDC at checkout?Yes. You create an invoice anchored to the order total in your catalogue currency, and the customer pays in USDT or USDC on a network you enable — Tron…
- Can one batch pay publishers in different assets and on different chains?Yes. Each payout line picks its own currency and network, so a single run can send USDT on Tron, USDC on Ethereum or Base, native SOL, and BTC at the same…
- Can one CPA run pay publishers in different assets and on different chains?Yes. Each payout line picks its own currency and network, so a single run can send USDT on Tron, USDC on Ethereum or Base, native SOL, and BTC at the same…
- Can one run pay IBs and affiliates on different chains and assets?Yes. Each line picks its own currency and network, so a single run can settle USDT on Tron, USDC on Ethereum or Base, and native SOL at the same time…
- Can one run pay publishers in different assets and on different chains?Yes. Each payout line picks its own currency and network, so a single revenue-share run can send USDT on Tron, USDC on Ethereum or Base, native SOL, and…
- Can one run pay publishers in different countries on different chains?Yes. A global run is a fan-out over the single-payout API where each line carries its own asset and network, so USDT on Tron, USDC on Ethereum or Base…
- Can sellers be paid on different chains in the same run?Yes. Each payout line picks its own currency and network, so one settlement run can pay USDT on Tron, USDC on Base or Ethereum, and native SOL side by…
- Can the same setup pay affiliate networks?Yes. Affiliate, rebate, and revenue-share runs go through idempotent batch payouts, so a retried batch never double-pays a partner. Balance conversion…
- Can the same setup pay IB commissions and profit splits?Yes. IB commissions, rebates, affiliate splits, and funded-trader profit shares are all single payouts and share the mass-payout fan-out. Keep the payee…
- Can the same setup pay introducing brokers and affiliates?Yes. IB and affiliate commissions are single payouts fanned out over the payout API — there is no separate batch endpoint. Each recipient line carries its…
- Can the same setup pay sports affiliates and rebates?Yes. Recurring runs — affiliate commissions, referral rebates, revenue-share to traffic partners — are a fan-out over the same single-payout API, where…
- Can we pay instructors and contractors in different countries?Yes. Single payouts handle one-off instructor or contractor payments with operator review, and mass payouts move a whole cohort of teaching assistants…
- Can we pay trusted affiliates on demand instead of in a weekly batch?Yes. The same idempotent single-payout primitive that backs a batch can be triggered per request, so a trusted publisher can be paid immediately rather…
- Do affiliate payouts move funds the moment I submit the run?No. Each payout enters a pending-approval state and is released from the dashboard before funds move. Your integration can stage an entire affiliate…
- Do affiliate payouts move funds the moment my platform submits the run?No. Each payout enters a pending-approval state and is released from the dashboard before funds move. Your integration stages the whole batch unattended…
- Do crypto payments for digital goods get charged back?No. Once halfin credits a payment under the chain's confirmation threshold it has settled on-chain, and there is no issuer-initiated reversal the way a…
- Do crypto payments through halfin have chargebacks?No. Once halfin credits a payment under the chain's confirmation threshold, it is settled on-chain and there is no issuer-initiated reversal the way a…
- Do crypto tuition payments remove chargeback risk?Yes. A confirmed on-chain payment is final — it is not a card authorization that can be reversed weeks into the term. Once a tuition invoice crosses its…
- Do I have to build a wallet UI for the course checkout?No. The wallet flows, QR code, address display, network choice, and per-chain confirmation watching all live on the hosted checkout page at…
- Do I have to replace my existing checkout to accept crypto?No. You add a "pay with crypto" branch that creates an invoice for the order total and redirects the customer to the hosted checkout page. Your order…
- Do I have to use hosted checkout, or can I keep the payment UI in my product?Either. Hosted checkout is the smallest integration — create the invoice and redirect to the returned checkout.thehalfin.com URL. Self-hosted checkout…
- Do I need a different price or flow for international customers?No. You bill everyone with the same fiat-anchored invoice — send the amount in your home currency and halfin quotes and locks the equivalent in the assets…
- Do I need a plugin to add USDT checkout to my store?No. The integration is the REST API plus hosted checkout, which works the same on any platform: create a fiat-anchored invoice from the order, redirect…
- Do I need to build wallet or QR code to take tips?No. The hosted checkout page renders the deposit address, the QR code, the supported networks, and the live payment status. You create an invoice, send…
- Do partner payouts move funds the moment I call the API?No. Each payout enters a pending-approval state and is released from the dashboard before any funds leave the balance. Your integration stages the full…
- Do payouts leave our balance the moment we POST the batch?No. Each payout enters a pending-approval state and is released from the dashboard before funds move. Your integration stages the whole revenue-share…
- Do scholarship payouts leave the balance immediately?No. Each payout enters a pending-approval state and is released from the dashboard before funds move, so the run you submit is a proposal a treasurer or…
- Does a cashout go out the moment I call the API?No. Each payout is created in a pending-approval state — funds are reserved but nothing is broadcast on-chain. An operator with payout permissions…
- Does a payout move funds the moment I call the API?No. Each payout enters a pending-approval state and is released from the dashboard before funds move. That keeps the programmatic path — your integration…
- Does accepting crypto change a CFD broker's compliance obligations?No. halfin handles payment collection on the deposit leg and payout execution on the withdrawal leg, plus signed webhooks for both; it does not take over…
- Does accepting crypto deposits change my compliance obligations?No. halfin handles payment collection, confirmation, and signed webhooks; it does not take over trader identity, eligibility, or any regulatory status…
- Does crediting a deposit on confirmation replace my own risk and reconciliation?No. halfin confirms the deposit and signals the credit; your platform still owns margin, risk, and the trader's tradable balance. Verify the webhook…
- Does halfin calculate the revenue split for me?No. The percentages, tier rules, and rounding policy come from your contracts and live in your ledger, because that is where the deal is recorded and…
- Does halfin decide whether a player can withdraw?No. Your platform owns the decision — KYC status, wagering completion, fraud and bonus-abuse checks, and jurisdiction rules. halfin executes the payout…
- Does halfin handle compliance or licensing for our gambling program?No. Compliance is handled as a process at onboarding, and it stays your responsibility. The program may be licensed to operate in its jurisdiction; halfin…
- Does halfin handle creator KYC and compliance?No. halfin onboards merchants via KYB and is built with AML awareness, but it is payment infrastructure, not your compliance program. Creator identity…
- Does halfin handle creator KYC and eligibility?No. halfin onboards merchants via KYB and is built with AML awareness, but it is payment infrastructure, not your compliance program. Creator identity…
- Does halfin handle creator KYC for a platform?No. halfin onboards your business through KYB and runs with AML awareness, but creator identity, eligibility, and wallet validation stay inside your stack…
- Does halfin handle international compliance or creator tax?No. halfin is the payment rail: it onboards merchants via KYB, is built with AML awareness, and returns signed status you reconcile against. Knowing your…
- Does halfin handle our student KYC or accreditation?No. halfin verifies your education business as a merchant through KYB onboarding and screens the payment counterparty, but it does not perform student…
- Does halfin handle our students' KYC or our accreditation?No. halfin verifies your education business as a merchant through KYB onboarding and screens the payment counterparty, but it does not perform student…
- Does halfin handle student identity verification?No. halfin verifies the school as a merchant through KYB onboarding and screens the payment counterparty, but it does not perform student KYC or grant…
- Does halfin handle travel-rule and AML obligations for us?halfin applies AML awareness to the payment rail and treats the travel rule as a process to understand, not as a certification or license it holds or…
- Does halfin make my FX brokerage compliant?No. halfin is payment infrastructure, not a license or a compliance program. It collects deposits, executes approved payouts, and reports both through…
- Does halfin meter usage for me?No. Counting units, applying tiers and overage, and handling credits is your pricing logic and your source of truth, so it stays inside your product…
- Does halfin provide a gambling license or compliance approval?No. halfin is payment infrastructure, not a licensing or compliance authority. It runs KYB onboarding for the operator and AML-aware processing on the…
- Does halfin replace our affiliate tracker or anti-fraud system?No. Your tracker stays the system of record for which conversions are valid and what each affiliate is owed, and your anti-fraud and approval logic stay…
- Does halfin replace our affiliate tracker or decide who gets paid?No. Your tracker stays the system of record for which conversions are valid and what each affiliate is owed, and your anti-fraud and approval logic stay…
- Does halfin replace our tracker, postback validation, or anti-fraud?No. Your tracker stays the system of record for valid conversions after postbacks and scrubs, and what each publisher is owed; your anti-fraud and…
- Does halfin run AML monitoring and sanctions screening for my casino?No. Processing is AML-aware and the payment record is attributable, but AML monitoring, suspicious-activity escalation, and sanctions screening are…
- Does halfin verify the identity of scholarship recipients?No. halfin verifies the program or institution as a merchant through KYB onboarding and screens the payment counterparty, but it does not perform…
- Does integrating halfin make our affiliate program compliant?No. halfin is payment infrastructure, not a license or a compliance certification. It supports KYB at onboarding, applies AML awareness to the rail, and…
- Does passing KYB make our SaaS business compliant or certified?No. KYB onboarding verifies your software business as a legal entity that can receive deposits and authorize payouts on halfin. It is not a certification…
- Does passing KYB make our school compliant or accredited?No. KYB onboarding verifies your education business as a legal entity that can receive deposits and authorize payouts on halfin. It is not an…
- Does paying cross-border through halfin handle my compliance obligations?No. halfin supports KYB onboarding, applies AML awareness to the rail, and treats travel-rule as a process to understand — not as a certification or…
- Does paying in a dollar stablecoin remove FX risk?It removes the hidden conversion that bank rails fold into a cross-border wire. The creator receives a dollar-denominated amount and converts to local…
- Does paying on demand skip the approval step?No. Every payout still enters a pending-approval state and moves only when released from the dashboard. For an instant policy you auto-release for a named…
- Does removing chargebacks help with my acquirer chargeback rate?Crypto payments through halfin are not card transactions, so they do not run through a card network and do not count toward an acquirer's chargeback-rate…
- Does selling courses across borders create extra compliance work?Yes, but most of it is education and consumer law, not payment. Whether a program may be delivered in a country, whether a credential is recognized, age…
- Does submitting a payout move funds immediately?No. Each payout enters a pending-approval state and is released from the dashboard, so the run your platform POSTs is a proposal. That separates the…
- Does taking subscriptions in crypto change our data-protection or tax obligations?No. The customer relationship, the account, and the personal data you hold are yours regardless of how a customer pays, and a charge settling in USDT or…
- Does the broker still own IB onboarding and partner compliance?Yes. halfin executes the payment rail and validates the destination address for the chosen network; it does not own who the partner is. The IB agreement…
- Does this page tell me whether my creator platform is legally compliant?No. It maps the payment seam — what halfin operates as process and what stays with you — but it is not legal advice and halfin is not a regulator or a…
- Each publisher earned a different amount — can one batch carry per-line amounts?Yes. Every line in a batch specifies its own currency, amount, and destination, so a CPA run where every publisher earned a different per-action…
- How can a subscription recur if there is no card to charge?It recurs as invoice-per-cycle billing, not an auto-charge. Each period your billing job creates one fiat-anchored invoice; halfin quotes the amount in…
- How do batch withdrawals work — is there a batch endpoint?A batch is a fan-out over the single-payout call: each approved withdrawal is its own create-payout request with its own idempotency_key. There is no…
- How do crypto payments change chargeback risk for courses?A confirmed on-chain payment is final — it is not a card authorization that can be reversed weeks later. Once an invoice confirms under its chain's…
- How do I avoid billing or granting twice?Two idempotency boundaries. On creation, scope the idempotency_key to the account and the period so a retried renewal job returns the existing invoice…
- How do I avoid FX surprises on international orders?Price the order in your own fiat currency on the invoice. halfin locks the equivalent stablecoin amount at activation, so the customer owes a fixed figure…
- How do I avoid handing out two licence keys for one purchase?Make delivery idempotent on your side. Tie each invoice to its order with your order id as the idempotency key on the create call, and key your fulfilment…
- How do I avoid paying a seller twice during a settlement run?Each payout line carries a deterministic idempotency_key derived from your ledger — typically the seller's account id plus the settlement period. If a run…
- How do I avoid paying a trader twice if my request times out?Every payout carries a caller-supplied idempotency key. Derive it from your own records — for example the trader's account id joined with the withdrawal…
- How do I bill metered or usage-based plans in crypto?Tally the period's usage in your own system, apply your rate card to get a fiat total, then create one fiat-anchored invoice for that amount once the…
- How do I confirm a specific commission was actually paid?Each payout leaves a per-recipient result and, on completion, an HMAC-signed payout.completed webhook carrying a transaction hash. Verify the signature…
- How do I create an invoice programmatically?Post the amount and currency to api.thehalfin.com/api/v1/invoices with an X-API-Key header. For fiat-anchored billing send amount_fiat and fiat_currency…
- How do I disburse scholarships to recipients in many countries at once?Model the disbursement list as a payout run: each recipient is one payout line carrying a currency, an amount as a string, a destination address, and its…
- How do I keep my platform from paying an affiliate twice?Give every payout a deterministic idempotency key derived from your own ledger — for example the affiliate's account id joined with the payout period. If…
- How do I keep the shares from drifting away from the income amount?Compute every share in the asset's smallest unit — integer minor units, never a floating-point fraction — and make exactly one line, usually the…
- How do I know a creator was actually paid?Each payout is its own object with its own state, so you read a single payout back rather than parsing logs. Settlement is reported by a signed…
- How do I know a developer was actually paid, so I can update their earnings view?Settlement is signalled by the payout.completed webhook. Verify its HMAC signature before acting, then mark that recipient's cycle as settled in your own…
- How do I know a withdrawal actually settled?halfin emits a payout.completed webhook when the transfer has settled to the chain's per-chain confirmation depth, reorg-aware — not when it was merely…
- How do I match an incoming payment to the right order?Reconcile at the order level, not the wallet level. You create one invoice per order carrying your order reference, and the signed webhook that fires when…
- How do I pay a one-off instructor versus a whole cohort of TAs?A one-off payment — a guest lecturer, a one-time design fee — is a single payout: you name the currency, amount, and destination, and an operator approves…
- How do I pay many cashouts at once without double-paying a winner?Run them as a batch of payouts where each line carries its own idempotency key, derived from your cashout record. Re-submitting a key returns the payout…
- How do I pay plugin authors their revenue share without double-paying anyone?Run the share as a mass payout: fan out over the single-payout API, one line per author, each carrying an idempotency key you derive deterministically…
- How do I prove to a network that a commission line was actually paid?Every payout leaves a per-recipient result and, on completion, an HMAC-signed payout.completed webhook. Verify the signature, then mark the line settled…
- How do I refund a student who dropped a course?Confirm the student is eligible under your withdrawal policy in your own platform, then have an operator create a refund against that student's tuition…
- How do I screen a creator's wallet before paying it?Screening is a control in your own pipeline, ahead of the rail. Gate the payout on identity and wallet checks first, and only submit an approved, screened…
- How do I stop a retried billing job from creating duplicate subscription invoices?Pass an idempotency key on the invoice create call, scoped to the cycle — a subscription ID plus the billing period is a natural shape. A retried job that…
- How do I stop my billing job from creating duplicate invoices?Pass an idempotency key on the invoice create call, scoped to the cycle — an account ID plus the billing period is a natural shape. A retried job that…
- How do I tie an on-chain crypto deposit back to a KYC'd trader?Set your own trader or account identifier on the invoice when you create it. That identifier flows through to the invoice.paid webhook and the dashboard…
- How do idempotency keys stop a retried billing job from double-charging?Set an idempotency_key field, derived from your own identifier such as the account and the cycle (acct_42-2026-06), on the invoice-creation request. A…
- How do instant player withdrawals work?Your platform approves the cashout — KYC status, wagering requirements, and fraud checks are your decision — and you create a payout to the player's…
- How do student refunds work?Refunds are a first-class product step, not a chargeback. A student who withdraws in a cooling-off window, or a duplicate enrollment, is refunded as a…
- How do upgrades, downgrades, and cancellations work?An upgrade or downgrade is just the next cycle's invoice computed at the new price, or a prorated one-off invoice for the difference if you prorate in…
- How do we know a withdrawal actually reached the creator?From the payout.completed webhook, not the submit response. halfin delivers a signed event when the payout completes on-chain; verify the HMAC signature…
- How do we link a deposit or withdrawal back to a specific trader?Carry your own reference on the invoice and payout — a trader or account ID. Every state change arrives as a signed webhook you can match to that…
- How do we pay instructors and teaching assistants who live abroad?With mass payouts. A mass payout is a fan-out over the single-payout API: you submit a list of lines — each with a currency, amount, destination address…
- How do we prove to a SOC 2 auditor we never double-billed an account or double-paid a developer?Through the records the rail leaves behind. Each subscription charge resolves to a fiat-anchored invoice and a signed webhook, and an idempotency key…
- How do we prove we never double-charged a student or double-paid an instructor?Through the records the rail leaves behind. Each tuition payment resolves to an invoice and a signed webhook; each payout line carries its own…
- How do we reconcile a finished payout run?Point a webhook at your platform and act on the payout.completed event, verifying the HMAC signature before you mark anything complete. Match each event…
- How do you stop the tuition amount from drifting with the exchange rate?The rate locks when the student activates the invoice, not when it is created, and the invoice has a bounded expiry window. Inside that window the asset…
- How does a casino take a one-off crypto deposit versus recurring top-ups?For a one-off, amount-known deposit, create a fiat-anchored invoice and redirect the player to hosted checkout; the rate locks at activation so the…
- How does a creator platform accept tips or donations in crypto?Create an invoice for the tip or donation and send the viewer to the hosted checkout URL in the response. The page handles the QR code, address, supported…
- How does a creator subscription renew without a card on file?You issue one fiat-anchored invoice per billing cycle. halfin quotes the amount in the assets you accept and locks the rate at activation; the fan pays…
- How does a deposit avoid drifting in value while it is on-chain?Anchor the invoice to your booking currency — USD or EUR — and the rate locks when the invoice activates. The trader settles the equivalent in a supported…
- How does a donation get attributed to the right creator?You stamp the creator's identifier on the invoice when you create it — in the description or your own metadata — and that context comes back to you on the…
- How does a marketplace collect from buyers and pay sellers in one account?One halfin account handles both legs. Buyers pay invoices through hosted checkout, and the money lands in your platform's balances. You credit each…
- How does a player deposit to my casino through halfin?You create a fiat-anchored invoice for the amount the player chose and redirect them to hosted checkout on checkout.thehalfin.com, where they pay from…
- How does a refund tie back to the student's enrolment for reconciliation?The refund references the completed tuition invoice the student paid, and that invoice carries the student and cohort context your platform attached when…
- How does a school collect tuition from students in many countries?Through fiat-anchored invoicing. You price the course in USD and create an invoice with that fiat amount; the student pays the equivalent in a supported…
- How does a trader withdrawal actually settle?The broker approves the withdrawal in its own back office, then creates a payout for the trader's wallet. The payout enters pending-approval and is…
- How does accepting crypto get around card declines?A stablecoin payment does not pass through a card network or a customer's issuing bank, so there is no cross-border authorization to decline. The customer…
- How does an instant payout avoid double-paying on a retry?Each payout carries a caller-supplied idempotency key derived from your ledger — for example the affiliate's account id joined with the earnings period or…
- How does halfin handle compliance for affiliate payouts?halfin supports KYB onboarding, applies AML awareness to the payment rail, and treats travel-rule as a process to understand — not as a certification or…
- How does halfin stop a creator being paid twice on a retry?Each payout in a run carries its own idempotency key derived from your run identifier and the creator's id. If a line is retried — by your code, a proxy…
- How does halfin stop a gambling affiliate from being paid twice in a revenue-share run?Every payout carries a caller-supplied idempotency key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of the…
- How does halfin stop a player from being paid twice on a cashout?Every payout carries a caller-supplied idempotency key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of a…
- How does halfin stop a publisher from being paid twice during a CPA run?Every payout carries a caller-supplied idempotency key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of the…
- How does halfin stop an affiliate from being paid twice during a payout run?Every payout carries a caller-supplied idempotency key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of the…
- How does halfin stop an affiliate from being paid twice during a run?Every payout carries a caller-supplied idempotency key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of the…
- How does halfin stop an affiliate from being paid twice in a settlement run?Each partner line carries a caller-supplied idempotency key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of…
- How does halfin stop an introducing broker from being paid twice?Every payout line carries a caller-supplied idempotency_key. If halfin sees the same key again — from a timeout retry, a worker restart, or a re-run of…
- How does my server know the USDT payment actually arrived?Through an HMAC-signed webhook. When the invoice resolves, halfin sends an invoice.paid event once on-chain confirmations reach the network's threshold…
- How does my store know when an order is actually paid?Through an HMAC-signed webhook, not the customer's redirect. When the invoice resolves, halfin sends a signed event to your server; you verify the…
- How does my system know the metered period is paid?Through the HMAC-signed invoice.paid webhook your backend receives when the invoice settles on-chain — not the browser redirect, which is not proof of…
- How does recurring billing work if there is no card to charge?You create one fiat-anchored invoice per billing cycle. halfin quotes the amount in the assets you accept and locks the rate at activation; the customer…
- How does recurring billing work without a card on file?You issue one fiat-anchored invoice per billing cycle. halfin quotes the amount in the assets you accept and locks the rate at activation; the customer…
- How does the audit trail prove we didn't pay a publisher twice?Every payout carries a deterministic idempotency key derived from your ledger — for example account id plus payout period. Re-submitting the same key…
- How does the deposit amount stay equal to the dollar fee I priced?halfin locks the conversion rate when the invoice activates and stamps a payment window. The trader is shown a fixed token amount; if they pay inside the…
- How does the deposit amount stay equal to the dollar figure I credit?halfin locks the conversion rate when the invoice activates and stamps a payment window. The trader is shown a fixed token amount; pay inside the window…
- How does the program know a disbursement actually arrived?A signed payout.completed webhook tells your system when a payout has settled on-chain — verify the HMAC signature before recording it as paid. Settlement…
- How does the travel rule apply?Treat the travel rule as an educational concept and an operational expectation to design for as your jurisdictions and program require — a process, never…
- How does this handle cross-border customers?A customer abroad pays in stablecoins or another supported asset directly from their wallet, with no card-issuer geography rules, no gateway currency…
- How fast are player withdrawals?Your back office approves the cashout — KYC, wagering requirements, and fraud checks are your decision — and you create a single payout to the player's…
- How fast do cross-border payouts settle?Settlement is paced by the chain — block production and confirmation depth — not by a banking calendar, so weekends and local holidays don't stall it. A…
- How fast do winnings get paid out?Your platform approves the cashout — the bet has graded, KYC is clear, wagering and fraud checks pass — and you create a payout to the winner's wallet…
- How fast does a crypto deposit actually credit the trader?As fast as the chain settles plus its per-chain confirmation threshold. halfin watches for the deposit, waits the number of confirmations set for that…
- How fast does a player actually get their withdrawal?Once your back office approves the cashout and an operator releases the payout, it goes out as fast as the chosen chain confirms — there is no card issuer…
- How fast is an 'instant' affiliate payout, really?It collapses the gap between approval and settled funds from a multi-day bank cycle to the release-plus-confirmation window of the chain you chose — often…
- How 'instant' is an instant creator withdrawal?It is as fast as your approval plus the chain. halfin executes the payout the moment you submit the approved withdrawal — there is no overnight banking…
- How is paying a creator abroad different from paying one locally on halfin?Operationally it isn't. Both are one call over the single-payout API to a wallet address. Because the destination is a wallet rather than a bank account…
- How is revenue share different from a normal creator payout run?Both are idempotent payouts over the same API, but a split adds a per-event invariant: the lines must sum back to one income amount. A roster earnings run…
- How should my platform confirm a payout actually settled?Reconcile off the signed webhook, not the API response. halfin emits a `payout.completed` event, and you must verify its HMAC signature before marking a…
- How will our payroll system know when a payout completes?The same lifecycle is exposed in the dashboard, the API, and a signed webhook. Verify the webhook's HMAC signature before acting, then mirror the final…
- If a customer disputes a payment, can it be reversed like a chargeback?No. Once halfin credits a payment under the chain's confirmation threshold it is settled on-chain, and there is no issuer-initiated reversal the way a…
- If there are no chargebacks, how do I give a customer a refund?You issue it deliberately through the refund flow, which runs against the original invoice. You decide when a return is warranted, on your own policy and…
- If USDT tracks the dollar, why do I still need a rate lock?Because you price in fiat and the invoice should owe a fixed, concrete USDT amount rather than a quote that recomputes mid-payment. halfin anchors the…
- Is a crypto tuition refund the same as a chargeback?No — it is the opposite. There is no card network to reverse a confirmed on-chain payment and no inbound dispute to contest. A refund is a deliberate…
- Is a mass payout a single batch request?No. A mass payout is a fan-out over the single-payout API: one call per creator, each with its own currency, amount, destination, and idempotency key. The…
- Is a withdrawal a single payout or a mass payout?Both shapes use the same payout API. Paying one creator the moment you approve their request is a single payout. Clearing a queue of approved withdrawals…
- Is cross-border a different integration from my normal orders?No. It is the same invoice-plus-webhook flow: create an invoice anchored to the order total, redirect the customer to the hosted checkout URL, and verify…
- Is halfin a casino payment gateway or a gambling operator?halfin is a payment gateway — infrastructure that moves crypto deposits in and cashouts out. It is not a gambling operator and it does not issue or hold a…
- Is halfin a regulated or licensed payment provider for iGaming?halfin is payment infrastructure, not a licensing or compliance authority, and nothing here is legal advice. It does not issue gambling licences or…
- Is halfin a way to sell crypto to students?No. halfin is payment infrastructure for accepting crypto and executing payouts. It does not sell crypto to students or provide any fiat on-ramp —…
- Is payment instant for a customer on the other side of the world?Settlement waits for the chain's confirmation threshold, which is typically seconds to minutes — not the card-authorization model of…
- Is the checkout hosted, or can I keep it inside my product?Either. Hosted checkout is the smallest integration — create the invoice and redirect to the returned checkout.thehalfin.com URL. Self-hosted checkout…
- Is the SDK required, or can any backend integrate?The SDK is optional. @halfin/sdk-merchant is a thin, typed client generated from the same OpenAPI spec as the server, so it gives TypeScript projects…
- Is the travel rule handled by halfin?No. The travel rule is a concept and a process to understand and, where it applies to your firm, to implement — not a certification halfin holds or grants…
- Is there a batch endpoint for a commission run, or do I loop over single payouts?You fan out over the single-payout API — POST /api/v1/payouts, once per partner — and the idempotency keys make that loop safe to interrupt and re-run…
- Is there a batch endpoint, or do I fan out over single payouts?You fan out over the single-payout API — there is no `POST /payouts/batches`. A mass payout is the set of single payouts you submit together, and the…
- Is there a separate affiliate or batch endpoint to call?No. A settlement run is a fan-out over the single-payout API — you submit one payout per partner line, and the idempotency keys make the loop safe to…
- Is there a separate batch endpoint for a payout run?No. A mass payout is a fan-out over POST /api/v1/payouts — there is no POST /payouts/batches to learn. The run is simply the set of payouts you submit…
- Is there an official plugin for a high-risk store platform?No. The integration is the same REST API plus hosted checkout that any store uses: create an invoice from the order, redirect the customer to the returned…
- Is there an official plugin for my e-commerce platform?No. The integration is the REST API plus hosted checkout, which works the same regardless of platform: create an invoice from the order, redirect the…
- Is this a fiat on-ramp for our affiliates?No. halfin is payment infrastructure for crypto acceptance and payouts. It executes on-chain payments to publisher wallets and collects crypto deposits…
- Is this a fiat on-ramp for traders?No. halfin collects crypto deposits and executes crypto payouts. It does not sell crypto to traders or provide fiat-to-crypto brokerage. The broker still…
- Is this a fiat on-ramp that converts payouts to a publisher's local currency?No. halfin executes on-chain payments to publisher wallets in crypto. It does not sell crypto to your affiliates or convert their balance into local-bank…
- Is this a way for affiliates to cash out to their bank instantly?No. halfin is crypto payment infrastructure, not a fiat on-ramp or off-ramp. An instant payout sends crypto to a publisher's wallet on-chain; it does not…
- Should I use hosted checkout or a static deposit address for trader funding?Use hosted checkout for a discrete, priced top-up — a margin call or a fixed funding step where the amount and a payment window matter. Use a static…
- What can we show an auditor for a given affiliate payment?Four reinforcing pieces of evidence: the idempotency key that maps the payment to a publisher and period, the dashboard record of who approved it and…
- What compliance does halfin handle versus what we handle?halfin handles the payment side: KYB on your business, AML awareness as funds move, address validation, and a record of every invoice and payout. You…
- What does an instant creator withdrawal look like?It is a payout executed on-chain rather than a bank file that clears in days. When a creator draws down their available balance, you create a single…
- What exactly grants the next period of access?The verified invoice.paid webhook, and nothing else. Recompute the HMAC signature over the raw request body and compare it in constant time before you…
- What happens if a customer underpays in USDT?It is a defined outcome, not a failure. halfin tracks the amount expected against the amount received on-chain and fires an invoice.underpaid event with…
- What happens if a donor sends the wrong amount?It is handled, not stranded. An underpaid donation fires invoice.underpaid with the shortfall recorded against the invoice; an overpaid one fires…
- What happens if a student underpays or overpays the tuition invoice?Both are recorded against the invoice rather than discarded. An underpayment surfaces the shortfall so finance can request a top-up or settle partially…
- What happens if a student underpays or pays late?Both are handled as defined states rather than failures. The rate is locked when the student activates the invoice, so a late payment inside the window…
- What happens if an international customer underpays or pays late?Both are first-class outcomes on the invoice. An underpayment records the shortfall so you can request a top-up or settle partially under your own policy…
- What happens if my webhook handler runs twice for the same payment?Make the access grant idempotent on your side. A webhook can be delivered more than once, so write the entitlement as an upsert keyed on the invoice or…
- What happens if one recipient's address is wrong?Partial failure is reported per-line. A malformed address, an amount below a chain's dust threshold, or a currency the destination can't receive rejects…
- What happens if one share in a split fails to pay?A mass payout is a fan-out over the single-payout API, so each share is its own payout that succeeds, fails, or retries independently. A bad wallet on one…
- What happens if some partner lines in the run fail?Failure is reported per line. A malformed wallet, a dust-threshold amount, or a currency the destination can't receive rejects only that partner; the rest…
- What happens if some publisher lines in the batch fail?Partial failure is reported per-line. A malformed address, an amount below a chain's dust threshold, or a currency the destination can't receive rejects…
- What happens to a seller's earnings if the buyer is refunded?Refund the original invoice, then reverse the seller's pending credit in your ledger before it is included in a payout run. Because a confirmed crypto…
- What happens to chargebacks and refunds when I sell globally in crypto?There is no card issuer to initiate a chargeback, so the weeks-later reversal you inherit from cards does not occur. A customer who does not pay leaves an…
- What happens to publisher lines with a bad address or amount?They are rejected per-line, and the rest of the batch still settles. A malformed address, an amount below a chain's dust threshold, or a currency the…
- What happens when a customer does not pay a cycle?The invoice expires rather than declining like a card — you receive an invoice.expired event. Treat that as a non-renewal and hand it to your existing…
- What happens when a customer does not pay a renewal?The invoice expires when its payment window elapses, rather than declining and retrying like a card. You receive invoice.expired and treat it as a…
- What happens when a fan does not renew?The invoice expires rather than declining like a card — you receive an invoice.expired event. Treat it as a non-renewal and hand it to your existing…
- What happens when some lines in a run are bad?Each line is submitted independently, so a malformed address, a dust-threshold amount, or an unsupported currency rejects only that line and is reported…
- What if a player's wallet address is wrong or unsupported in a batch?That line is rejected per-line at creation — a malformed address, a dust-threshold amount, or an asset the wallet cannot receive — while the rest of the…
- What if a player sends the wrong amount?On the invoice path there is a quoted amount, so an underpayment or overpayment is reported explicitly as invoice.underpaid or invoice.overpaid — you can…
- What if my balance is not in the asset I need to pay an instructor?Convert first, then pay out. A payout moves what your merchant balance holds, so if you collect tuition in one asset and owe a contractor another, use…
- What if the customer pays slightly too little or too much?Both are recorded against the invoice rather than discarded. An underpayment surfaces the shortfall so you can request a top-up or settle the period…
- What is KYB, and how is it different from creator KYC?KYB — know your business — is the onboarding check halfin runs on your platform before it can move money; your business is verified up front. Creator KYC…
- What is the difference between KYB and player KYC here?KYB onboarding identifies the operating business to halfin before it processes any payments — it is a relationship between you and halfin. Player KYC…
- What payment records can I use as evidence for compliance reviews?Every credit and payout is confirmed reorg-aware at the chain's threshold and tied to identifiable addresses, and your server receives HMAC-signed…
- What's the difference between an instant payout and a mass payout?Only cadence. An instant payout is one single payout triggered per approved earnings event; a mass payout is the same single-payout call fanned out over a…
- What stops a creator being paid twice if our approval handler retries?The idempotency key. Each withdrawal payout carries a key derived from the withdrawal request id. If your handler fires twice, a proxy replays the call…
- What stops a deposit from being credited and then reversed?halfin does not credit on the first sighting of a transaction. It waits for the chain's per-chain confirmation threshold and credits reorg-aware, so a…
- What stops a duplicate withdrawal if our service retries?The idempotency_key on the payout. If your service resubmits the same approved withdrawal after a timeout, the key guarantees the trader is paid once, not…
- What stops a forged webhook from unlocking a course for free?Verify the HMAC signature on every webhook before acting on it. You recompute the signature over the raw request body with your signing secret and…
- What stops an instructor from being paid twice if a payroll run is retried?Every payout carries a caller-supplied idempotency key. If the same key arrives again — from a timeout retry, a worker restart, or a re-run of the roster…
- What stops me from delivering on a payment that later reverses?halfin waits for the chain's confirmation threshold and credits in a reorg-aware way before it emits invoice.paid, so the event does not fire on a mempool…
- What stops me from marking an order paid on a forged webhook?Verify the HMAC signature on every webhook before acting on it. You recompute the signature over the raw request body with your signing secret and…
- When do I open the funded account after a deposit?On the verified invoice.paid webhook. halfin waits for the chain's per-chain confirmation threshold, credits the deposit reorg-aware, and then fires an…
- When exactly should I grant a student access to the course?On the verified invoice.paid webhook, never on the success redirect. When the event arrives, verify the HMAC signature over the raw body with your signing…
- When exactly should I unlock a fan's premium access?On the HMAC-signed invoice.paid webhook, and only after you verify the signature. The browser redirect to your success page is not proof of payment — it…
- When is a deposit safe to credit to a player's balance?When halfin confirms it under the chain's own threshold. Each deposit is credited reorg-aware after the per-chain confirmation depth, so a deposit your…
- Where do we run sanctions screening on developer and affiliate payouts?Between staging and release. A payout you submit through the API enters a pending-approval state and is released from the dashboard, so the staging path…
- Where do we run sanctions screening on instructor and scholarship payouts?Between staging and release. A payout you submit through the API enters a pending-approval state and is released from the dashboard, so the staging path…
- Where does my platform's compliance responsibility end and halfin's begin?Your platform owns who your creators are: identity, payout eligibility, and wallet screening, decided before a payout is submitted. halfin owns the rail…
- Where does sanctions and wallet screening happen for crypto withdrawals?In your process, before funds move. halfin payouts enter a pending-approval state and are released from the dashboard by an operator, giving you a natural…
- Where does the money to pay developers come from?The same halfin balance your subscriptions and platform fees accrued to. Collection and payout run off one balance, so you are not bridging funds between…
- Which asset should traders use for a fast top-up?A dollar stablecoin, so the funded balance does not drift between the trader sending and the deposit confirming. halfin accepts USDT on Tron, Ethereum…
- Which assets and chains can players deposit from?Bitcoin; ETH and ERC-20 on Ethereum; ETH on Base and Arbitrum; native gas on Polygon; BNB on BSC; TRX and USDT on Tron; XRP on the XRP Ledger; and SOL…
- Which assets and networks can donors tip in?Only rails with a real on-chain gate: Bitcoin, Ethereum and ERC-20, Base, Arbitrum, Polygon, BNB Smart Chain, Tron and TRC-20, XRP Ledger, and Solana and…
- Which assets and networks can I pay poker cashouts in?USDT on Tron, Ethereum, and Solana; USDC on Ethereum, Solana, and Base; plus native BTC, ETH and its L2s (Base, Arbitrum, Polygon), BNB on BSC, TRX, XRP…
- Which assets can fans subscribe with?Any rail with a real on-chain gate: Bitcoin, Ethereum and ERC-20, Base, Arbitrum, Polygon, BNB Smart Chain, Tron and TRC-20, XRP Ledger, and Solana and…
- Which crypto should students use to pay tuition?For a four-figure tuition payment, stablecoins are usually the cleanest choice — USDC or USDT are dollar-denominated, so 4,200 USD is 4,200 USDC and the…
- Which currency do I quote the order in?Your own — the currency your catalogue already uses, such as USD or EUR. You create the invoice with a fiat amount and currency; halfin computes the…
- Which event should extend the subscription — the redirect or the webhook?The webhook. The browser redirect to your success page is not proof of payment and can be forged or skipped. Extend access only on the HMAC-signed…
- Which event should I deliver a digital good on?invoice.paid, and only that event. It fires after the payment reaches the per-chain confirmation threshold and is final on-chain. Verify the webhook's…
- Which networks can creators be paid on?Only rails with a real on-chain gate: Bitcoin, Ethereum and ERC-20, Base, Arbitrum, Polygon, BNB Smart Chain, Tron and TRC-20, XRP Ledger, and Solana and…
- Which networks keep receive fees low for small creator payouts?For stablecoins, TRC-20 USDT on Tron and SPL USDC/USDT on Solana keep network cost negligible, and USDC on Base is low-fee for EVM-native creators. Paying…
- Which stablecoin should I accept for challenge deposits?Most firms start with both USDT and USDC. USDT has the broadest reach in the markets where prop traders fund evaluations and is accepted on Tron…
- Which stablecoins should I offer for global reach?USDC and USDT cover most cases. USDC suits USD-native and EVM-first payers and is accepted on Ethereum, Base, and Solana; USDT carries the broadest reach…
- Which USDT network should my store accept?Most stores lead with TRC-20 (USDT on Tron) because fees are low and it is the version customers most often hold on exchanges. halfin also runs USDT gates…
- Who approves a trader withdrawal — halfin or the broker?The broker. Withdrawal eligibility, the profit-split calculation, the balance check, and the trader's verified wallet all live in your back office, and…
- Who is allowed to approve a student refund?Moving funds — payouts and refunds alike — sits behind scoped permissions, so the ability to approve a refund is a policy you set. A read-only reporting…
- Who screens the publisher's wallet for sanctions — halfin or us?You do, on your side, before you approve the payout. halfin validates that a destination address is well-formed for the chosen network and rejects…
- Why are crypto withdrawal approval rates higher than card cashouts?A card push-to-card cashout can be declined by the player's issuer, capped by reversal limits, or blocked by cross-border rules — none of which the…
- Why credit the player on the webhook instead of the checkout redirect?Because the redirect is cosmetic and unreliable — a player can pay and close the tab before any success page loads. The HMAC-signed webhook is the source…
- Why do gambling affiliates need crypto payouts specifically?Bank, card, and consumer-wallet rails routinely decline, hold, or freeze gambling-related flows, so they don't reliably reach an iGaming publisher base…
- Why does this matter most for digital goods and high-risk stores?Because those are the cases where a card chargeback hurts most: digital goods are delivered instantly, so there is nothing to recover if a charge…
- Why pay creators in stablecoins rather than a native coin?A stablecoin like USDT or USDC pays a dollar-denominated amount that doesn't drift between sending and spending, which is what most of a global roster…
- Why put inbound tuition and outbound payouts on the same rail?Reconciliation. When collection and payout share one balance, one dashboard, and one API, finance can tie tuition that came in against specific invoices…
- Why rely on the webhook instead of a success redirect?A donor can pay and close the tab before any success page loads, so the redirect is not reliable. The HMAC-signed webhook still arrives at your server…
- Why settle global affiliate payouts in stablecoins rather than another asset?USDT and USDC are dollar-denominated, so a publisher in a high-inflation or thin-banking market receives something whose value they can reason about…
- Why should entitlement be driven by the webhook instead of the redirect?The redirect is a convenience for the human and can be lost — a closed tab, a dropped connection, payment from another device. The HMAC-signed webhook is…
- Why stablecoins specifically for cross-border?Because a dollar-pegged stablecoin keeps the value legible on both sides between checkout and confirmation. A customer abroad paying USDC or USDT on a…
- Will halfin accept a business my card acquirer declined?Crypto acceptance does not run through a card acquirer, so an acquirer's decline does not apply to the rail itself. You still go through halfin's own…
- Will the payment layer keep up during a big event?Deposits are independent per invoice — each funding attempt has its own address and its own signed confirmation, so a surge of bettors funding a live line…