What 'instant' actually means here — and what it doesn't
Instant affiliate payouts are not a separate product or a magic 'send now' button that skips your controls. They are the same payout primitive, run on a per-request cadence instead of a once-a-week batch, settling on a rail that clears in minutes rather than days. The honest framing matters because over-promising on speed is a way to lose trust: a crypto payout is fast, but it is not literally instantaneous, and it is not unconditional.
There are two real steps between an affiliate's approved earnings and money in their wallet. First, an operator releases the payout — halfin payouts enter a pending-approval state and move only when released from the dashboard, so the request your platform submits is a proposal, not an irreversible action. Second, the transaction settles on-chain to the depth that chain requires. halfin's crediting is reorg-aware and uses per-chain confirmation thresholds, so a payout reported complete has actually settled, not merely been broadcast. 'Instant' here means the gap between approval and settled funds collapses from a multi-day bank cycle to the release-plus-confirmation window of the chain you chose — often minutes — without removing the human control point.
What it does not mean: it is not a fiat on-ramp, and it does not pay an affiliate before you have decided they are owed. Your tracker still determines valid conversions and the amount; your approval logic still decides who gets paid and when. halfin shortens the settlement leg, not the decision.
Where the weekly cycle comes from, and why crypto removes the reason for it
The weekly payout is a workaround for two old constraints, and both dissolve once settlement is on-chain. The first constraint is rail latency: a bank wire or ACH transfer is initiated now and clears later, sometimes after a weekend and a cutoff window, so paying a publisher the instant they earned would mean firing off a wire that lands days later anyway. Batching weekly hid that latency behind a predictable date. A crypto payout settles in the confirmation window of its chain, so there is no multi-day clearing lag to amortize across a week.
The second constraint is manual effort. When every payout is a person pasting an amount into a wallet UI, doing that for one publisher at a time, on demand, all week, is unworkable — so you batch the toil into a single weekly session. halfin removes that effort on both ends: a single payout is one API call your platform makes the moment earnings clear, and the operator-approval step is a release action in the dashboard rather than a fresh manual transfer. Paying on demand stops being a labor problem.
What remains is a policy decision, not a technical one: which publishers you trust enough to pay on approval rather than on a scheduled review. Instant settlement is a capability you extend selectively — to publishers with a clean history, above a confidence threshold your program sets — while everyone else stays on a reviewed batch. The same primitive serves both; only the cadence and the approval policy differ.
Settlement speed by rail
An instant payout is only as fast as the chain it settles on, and per-chain confirmation thresholds mean 'settled' takes a different amount of time on each rail. A publisher choosing the network they want is also choosing how quickly a released payout reaches a final state. The pattern below is the practical shape of that trade-off — predictable low fees on one rail, broad acceptance on another, fast finality on a third. halfin lets each payout line pick its own currency and network, so the speed characteristic follows the affiliate's choice rather than a single house default.
| Rail | Common payout asset | Settlement character |
|---|---|---|
| Tron (TRC-20) | USDT | Low, predictable network fee; quick confirmation — a common default for high-volume publisher payouts. |
| Solana | USDC, USDT, or native SOL | Fast, low-cost finality — well suited to frequent, small on-demand payouts. |
| Ethereum (ERC-20) / Base | USDC or USDT | Broadly held stablecoin many publishers reconcile against; confirmation depth before complete. |
| Bitcoin / XRP Ledger / EVM L2s | BTC, XRP, or an L2 native token | For publishers who want the base asset of a chain; settlement reported only after the chain's threshold. |
Triggering one payout on approval
An instant affiliate payout is a single payout fired per request, not a batch. The moment your tracker marks a publisher's earnings approved, your platform makes one call to the payouts API with that publisher's currency, amount as a string, and destination, plus an idempotency key derived from your ledger. Deriving the key deterministically — the affiliate's account id joined with the earnings period or a unique earnings-event id — means a retry after an ambiguous timeout returns the original payout instead of pushing a second one. That guarantee is identical to the one a weekly batch relies on; an instant payout simply applies it to a single line at a time.
After you create the payout it sits pending until an operator releases it. For trusted publishers on an instant policy, that release is the fast, routine action your finance team takes on a dashboard queue rather than a weekly mass run. Once released, settlement state arrives over an HMAC-signed webhook — verify the signature before you mark the payout complete in your own system — and resolves to a transaction hash your support team can hand to a publisher who asks where their money is.
# Fire one payout the moment a publisher's earnings are approved.
# The key is derived from your ledger, so a timeout-retry can't double-pay.
curl -sS -X POST https://api.thehalfin.com/api/v1/payouts \
-H "Content-Type: application/json" \
-H "X-API-Key: $HALFIN_API_KEY" \
-d '{
"currency": "USDT",
"amount": "182.40",
"destination": "TXyz...publisher-wallet",
"idempotency_key": "earn-2026-06-affiliate-4471"
}'
# Payout is created pending; an operator releases it, then it settles on-chain.Keep the approval gate — instant is not unapproved
Speed is attractive to publishers and risky for treasury, so the operator-approval step is the part you do not give up when you move to instant payouts. Every payout halfin creates is a proposal that does not move funds until it is released from the dashboard. That separation lets your integration submit the per-request payout automatically the instant earnings clear, while whoever owns the money still controls the moment it actually leaves the balance.
How fast 'instant' really is for a given publisher is therefore your policy, expressed through that gate. A program can auto-release for a short list of long-trusted, screened publishers and route everyone else into a reviewed queue. It can cap the on-demand amount and send anything larger to a second look. It can pause a publisher's instant access the moment fraud signals appear in the tracker. None of that lives in halfin — it lives in your platform and in who approves the release — and that is the point: halfin makes the settlement leg fast and final, and leaves the decision about who gets that speed entirely with you.
- Submit one payout per approved earnings event — the same idempotent call that backs a batch, fanned out to a single line.
- Keep payouts pending until released; auto-release only for the trusted publishers your policy names.
- Derive the idempotency key from your ledger so a timeout retry returns the original payout, never a duplicate.
- Verify the HMAC-signed payout.completed webhook before marking a publisher paid, and reconcile against the transaction hash.
Reconciliation and the compliance boundary still hold
Faster payouts do not mean a thinner record. Every instant payout maps to the same evidence a batched one does: an idempotency key from your ledger, a dashboard record, a signed webhook, and an on-chain transaction hash. When a publisher disputes a payment or finance closes the period, the trail is concrete rather than reconstructed from a chat thread — which is exactly the gap that ad-hoc, out-of-band 'just send it' payments leave behind.
The compliance posture is unchanged by cadence. Paying a publisher on approval rather than weekly does not move identity, counterparty, or sanctions screening onto halfin — those stay your program's responsibility, performed before a publisher is eligible for any payout, instant or batched. halfin supports KYB onboarding when you become a merchant, applies AML awareness to the payment rail, and treats travel-rule considerations as a process to understand; none of that is a certification or license it holds. Instant payouts work because the approval and screening happen earlier in your flow, not because any control was dropped to go faster.