No headings found on page
How to Migrate Affiliate Payouts to Crypto in iGaming

TL;DR:

  • Never cut over mid-cycle. Every phase boundary lands on a commission period close.

  • Two hybrid cycles minimum before crypto becomes the default rail.

  • Freeze the affiliate ledger 48 hours before cutover and export one immutable snapshot.

  • Wallet onboarding is the long pole: 4–6 weeks, and you'll get roughly two-thirds of commission value opted in during cycle one.

  • Map on-chain transaction hashes to your affiliate platform payment IDs before the first live batch. Not after.

  • Read the affiliate agreement in Phase 0. If it names a payout currency, method or timing, the migration starts as a contract exercise, not a payments one.

  • Keep fiat rails live and funded for two full cycles after cutover. Funded, not just credentialed.

Nobody flips an affiliate program onto crypto over a weekend. The ones that go badly are always the ones that tried.

The sequence that works is boring and it's the same every time: audit the payout ledger, pick a rail and a provider, onboard wallets with test payments, run two hybrid cycles side by side, then make crypto the default and leave fiat funded behind you.

Eight to twelve weeks. Three commission cycles. Anyone who types migrate affiliate payouts to crypto igaming into a search bar is usually hoping for a shortcut, and there isn't one that survives contact with a 3,000-affiliate ledger.

Why do affiliate payout migrations fail, and what actually breaks?

Almost never the blockchain. It's ledger hygiene and calendar discipline, every single time.

Three failure modes account for most of the wreckage.

Double payment. The affiliate platform marks a commission "paid" when the fiat batch is generated, but the crypto batch was built from an export pulled two days earlier. A slice of your affiliates gets the same period twice. This is the most common incident by a wide margin, and the root cause is always the same: two exports, two timestamps.

Orphaned commissions. An affiliate switches to crypto halfway through a cycle. Their accrued balance sits in the fiat queue, the crypto batch skips it, and nobody notices. Six weeks later they raise a ticket. By then the accrual has rolled forward twice and no longer reconciles to any single period, so you're doing forensics instead of payouts.

Unreconcilable settlement. The crypto batch clears beautifully. There's just nowhere in the affiliate platform to store the transaction hash. Finance has a settlement report on one screen and a block explorer on the other, with no join key between them. Month-end close slips, and the auditor asks a question you can't answer in under a day.

Process defects, all three. Not technology defects. The runbook below exists to kill them.

There's a fourth cost that doesn't show up in an incident log. One late cycle with your top ten affiliates and you'll feel it in traffic within days. Affiliates run cash-flow businesses on 30-day cycles; a media buyer who didn't get paid on the 15th reallocates spend on the 16th.

Placement drops, your brand slides down the comparison table, and a competitor with a clean payment record picks up the impressions. Winning that placement back takes months and usually a rate bump. Weigh that against whatever you're saving on transfer fees before you get clever with the calendar.

What does the migration timeline look like phase by phase?

Phase

Duration

Owner

Exit criteria

0. Ledger audit, contract review and freeze rehearsal

1–2 weeks

Head of Payments

Full affiliate balance export reconciles to GL within 0.5%; unpaid backlog identified and aged; affiliate agreement checked for currency/method/timing clauses; tax reporting impact confirmed with finance

1. Rail and provider selection

2 weeks

Head of Payments + CTO

Provider contracted; settlement asset, network and fee model agreed; sandbox credentials issued; AML/sanctions screening approach signed off by compliance

2. Wallet onboarding

4–6 weeks (overlaps)

Affiliate Manager

≥60% of active affiliates by commission value have verified wallet addresses with a completed test payment

3. Hybrid cycle 1 (shadow)

1 cycle

Payments Engineer

Crypto batch built but not sent; output matches fiat batch line-for-line

4. Hybrid cycle 2 (live split)

1 cycle

Payments Engineer + Affiliate Manager

Migrated cohort paid on-chain, remainder on fiat; zero duplicates; 100% hash capture

5. Default cutover

1 cycle

Head of Payments

Crypto is default rail; fiat retained as fallback; reconciliation closes within 72 hours

6. Fiat decommission (partial)

2 cycles later

COO

Fiat rail retained for non-migrated cohort only; float reduced to agreed minimum

Two notes on sequencing.

Start Phase 2 during Phase 1. Wallet collection is the long pole and it doesn't care whether the provider contract is signed. Get the portal fields live and start the first comms wave while legal is still redlining.

And Phase 6 says "partial" on purpose. You will keep a fiat rail forever for a minority of affiliates whose jurisdiction, banking structure or internal policy rules out crypto settlement. That's not a failure of the project. That's the end state.

One more rule that belongs on the plan and rarely makes it there: freeze deal and term changes for the whole migration window. No new rate cards, no CPA-to-revshare conversions, no bespoke minimums, no retroactive bonus adjustments from the sales team, from the day you take the Phase 0 export to the day cycle 5 reconciles. Your commercial director will hate this.

Explain that a mid-migration term change means the shadow-cycle diff no longer proves anything, because you can't tell whether a variance came from the export logic or from someone's new 42% tier. Put the freeze in writing, name who can grant an exception (one person, ideally the CFO), and log every exception granted.

Phase 0: how do you audit the affiliate ledger before touching anything?

You can't migrate a ledger you don't trust. Before you speak to a single provider, produce these artefacts.

The balance export. Every affiliate account with a non-zero accrued or unpaid balance, tagged with the commission period it relates to. Reconcile the total to your GL affiliate accrual. Variance above 0.5%? Stop. Fix it first. A migration will find that discrepancy for you at the worst possible hour of the worst possible day.

The aged backlog. Commissions older than 90 days sitting unpaid, usually because of failed bank transfers, dormant accounts, or affiliates who never completed verification. Decide now whether these clear on the old rail or the new one. Dumping them into the first crypto batch turns a 200-line payment run into a 200-line dispute queue.

The weird stuff. Every mature affiliate ledger has edge cases the batch builder was never told about, and they all break differently on-chain:

  • Negative carryover. Chargebacks, clawbacks and negative revshare months that carry forward against future commission. Confirm your crypto batch logic nets these out the same way the fiat one did. An on-chain payment can't be reversed, so a negative balance that gets ignored is a real loss, not a correction you make next month.

  • Pending holds. Fraud reviews, traffic-quality investigations, contractual holdbacks. These must be excluded from the export by flag, not by hoping nobody notices the amount is small.

  • Deal-specific minimums. One affiliate has a $250 threshold from a 2019 contract, another has $50, the default is $100. Extract every non-standard minimum into a table and check it against the crypto batch rules, because minimum thresholds interact badly with network fees.

  • Multi-account affiliates. The same legal entity holding three accounts across brands, expecting one consolidated payment. Decide the rule and document it.

The contract review. Do this in Phase 0, not in Phase 4 when an affiliate lawyer emails you. Pull the affiliate agreement, the standard T&Cs and any bespoke contracts for your top 20 accounts, and answer three questions in writing.

Does the agreement specify a payout currency? Does it specify a payout method? Does it specify timing — "within 15 days of month end", "by bank transfer", anything that a stablecoin transfer might arguably breach? If the answers are yes anywhere, you need an addendum or an opt-in consent flow before that affiliate can be paid on-chain, and legal needs 2–3 weeks to produce it.

Programmes that skip this step discover the problem when their largest affiliate's finance director refuses to accept USDT against a contract that says EUR by SEPA.

The tax and reporting check. Sit down with finance and list what they currently file: 1099s or local equivalents, VAT treatment of affiliate services, withholding on payments to certain jurisdictions, related-party disclosures, whatever your licence and domicile require.

Then work out which of those forms need a number that changes when settlement is on-chain. The commission expense doesn't change. The evidence does, and so does the FX or valuation basis if you settle in anything other than a USD stablecoin against a USD-denominated commission.

Agree the fiat-equivalent value that hits the ledger, agree who records it, and agree it before the first live batch rather than in the week before year-end close.

The freeze rehearsal. Run a dry freeze on a non-payment day. Lock commission accrual writes, export the ledger, unlock. Time it with a stopwatch. If the freeze takes more than four hours, you need to know that now, not at 11pm on cutover night.

Then set the window and never move it: 48 hours before every batch build, for the entire migration. One export. One timestamp. One source of truth. Every duplicate-payment story I've ever heard traces back to someone breaking that rule for a good reason.

How should you segment the affiliate base before you start?

Value-based cohorts are the obvious cut, and they're not enough. Segment on four axes and the onboarding plan writes itself.

Axis

Segments

Why it changes your approach

Commission value

Top 20% by spend / middle / long tail

Determines comms wave order and how much hand-holding you fund

Geography

EU/UK, LatAm, Africa, SEA, restricted or sanctioned-adjacent

Drives sanctions screening depth, local tax reporting, and how badly they want crypto

Current payout method

SEPA/SWIFT bank transfer, Skrill/Neteller, existing crypto, PayPal

Existing e-wallet and crypto users convert in days; SWIFT-only corporates take the longest

Technical sophistication

Runs their own wallets / uses an exchange account / never touched crypto

Sets the support burden and the wrong-network risk per account

Some patterns you can bank on. Affiliates in hard-to-bank markets — Brazil, Nigeria, Vietnam, parts of Eastern Europe — will opt in fast because you're solving a problem they already feel: five-day SWIFT, correspondent bank rejections, 4% FX spreads.

Established European affiliate networks with a finance function and an audited P&L will move slowly, ask about invoicing, and want a contract addendum. Solo media buyers who already hold USDT are your easiest wins and your best cycle-one test population.

The one segment that needs its own plan: affiliates who hold no wallet and no exchange account, and who will paste an exchange deposit memo address into a form field and lose money. Route them to a guided onboarding call, or leave them on fiat. Both are fine. Losing $8,000 of someone's commission to a missing memo tag is not.

How should you approach switching affiliate payout provider as a casino?

Choosing a provider for affiliate payouts is a different exercise from choosing one for players. You're buying batch throughput, address validation, settlement stability and reporting you can actually join to your own data. Checkout conversion doesn't enter into it.

Get the following in writing:

  • Batch size and throughput limits. A 3,000-affiliate programme paying inside one window needs a confirmed number, not "no practical limit". Ask what happens at 3,001.

  • Settlement asset options. Most programmes settle in a USD-pegged stablecoin so FX volatility stays out of commission spend. Confirm which networks are supported and the real per-transaction cost at your median payout size, not at $10,000.

  • Address validation at onboarding. Format and network validated when you store the address, not discovered at send time.

  • Failed-payment semantics. What happens to an unclaimed or rejected payout, how long funds sit, and exactly how the reversal appears in reporting.

  • Reporting fields. Payout ID, transaction hash, network, asset, gross, fee, net, timestamp. All exportable, ideally via API.

  • Pre-funding model. Whether you pre-fund a settlement wallet and what minimum float they expect you to hold.

  • Screening. Whether they screen destination addresses against sanctions and high-risk clusters, which data source they use, and whether you get the result in the payout record.

  • Cost per payout, itemised. Provider fee, network fee, FX if any, and any monthly platform charge. You'll need this for the business case in the next section.

If you already run player-side processing on crypto, consolidating affiliate payouts onto the same relationship is usually the cleaner path: one settlement account, one reconciliation format, one support channel, one contract to argue about. Providers built for the vertical — crypto payment infrastructure for online casino operators — already ship the batch and reporting primitives affiliate payouts need. Consumer-grade APIs make you build them yourself, and you'll build them badly, because it's not your product.

Settle one commercial question in Phase 1: who eats the network fee. Is commission quoted gross with fees deducted, or net with the operator absorbing them? Write the answer into your affiliate terms before the first crypto batch goes out. Retrofitting it after 400 affiliates have seen a payout $1.80 lighter than expected is a support queue you chose to create.

What about KYC, sanctions screening and your AML policy?

If you hold a licence, your AML policy already covers affiliates. Most operators just haven't tested it against a rail where the counterparty is an address rather than a bank account.

Three obligations to close out with compliance before cycle 2:

Affiliate-side KYC. You should already hold identity or entity verification for anyone you pay. Migrating rails is a good moment to check how many of your paid affiliates actually have complete files, because the answer is usually "fewer than you'd like".

Company registration for entities, UBO where the payout size warrants it, ID and proof of address for individuals. An affiliate who won't complete KYC doesn't get paid on-chain, and arguably shouldn't be getting paid at all.

Sanctions and PEP screening. Screen the affiliate. Then screen the destination address. Those are two different controls and your regulator will treat them as such. Name screening runs against your usual list provider; address screening runs against blockchain analytics and should flag exposure to sanctioned entities, mixers, darknet markets and high-risk exchanges.

Agree the risk appetite in writing: which categories block a payout outright, which trigger enhanced due diligence, and who signs off on an exception. Document the source and version of the list you screened against, because "we screened them" without evidence is the same as not screening them.

Ongoing monitoring. A clean address in January can be dirty in June. Re-screen on a schedule, and re-screen on every address change. Log the result against the payout record.

Get all of this into a short written addendum to your AML policy and have your MLRO sign it. When the licensing regulator asks how you know your affiliate payment rail isn't a money laundering channel, you hand over three pages instead of improvising.

What does affiliate wallet onboarding for operators actually involve?

This phase owns your timeline. Everything else is engineering. This is change management across a population that doesn't work for you and doesn't read your emails.

The mechanics:

  1. Add wallet fields to the affiliate portal. Address, network, asset. Network is an explicit dropdown. Never free text. Ever.

  2. Add a payout-method preference with fiat as the default until the affiliate actively opts in. Opt-in only. An opt-out design will silently migrate someone who never wanted it and you'll spend a cycle apologising.

  3. Communicate in two waves. Wave one goes to your top affiliates by commission value, usually 20% of accounts carrying 70–80% of spend. Wave two hits the long tail four weeks later. Personal email from the affiliate manager for wave one, templated for wave two.

  4. Test-pay every address before it's live. Small fixed amount, sent on-chain, confirmed by the affiliate inside the portal. No address becomes eligible for a commission batch until that loop closes. This is the control that catches wrong-network sends, and wrong-network sends are usually gone for good.

  5. Freeze the address once money has landed. After the first successful payout it's locked. Changing it means re-verification and a fresh test payment, full stop.

  6. Set a cohort cut-off. Addresses verified after the freeze window don't join that cycle. No exceptions, no favours for the big guy who emailed at 4pm. This is the single control that keeps orphaned commissions at zero.

Address changes are your fraud surface

Treat an address-change request exactly like a bank detail change, because it's the same attack with a better payoff for the attacker. The playbook is well worn: compromise the affiliate's email, send a polite note to the affiliate manager saying "we've moved to a new wallet, can you update before Friday's run", and collect.

There's no recall, no chargeback, no correspondent bank to call.

So build friction in:

  • Dual approval. Two named people from different functions. The affiliate manager alone cannot change a payout address.

  • Out-of-band verification. Call the number on file, or confirm on a channel that isn't the email the request arrived on.

  • A 72-hour cooling-off period. No address change takes effect inside the same commission cycle it was requested in. Attackers work on deadlines; legitimate affiliates can wait three days.

  • A new test payment against the new address before any batch includes it.

  • Notification to the old contact details whenever an address changes, so a compromised account gets flagged by its real owner.

Every one of those controls costs you a small amount of goodwill. All of them together cost less than one successful diversion of a top affiliate's monthly commission.

What to do about the affiliates who never reply

Some percentage of your base will read nothing and answer nothing. Have an escalation ladder and a hard stop, otherwise wave two drags across three cycles.

  • Day 0: portal notification plus email.

  • Day 7: reminder email, different subject line, sent from the affiliate manager's own address rather than a no-reply.

  • Day 14: in-platform banner they have to dismiss, plus a message on whatever channel that affiliate actually uses — Skype, Telegram, WhatsApp. Meet them where they live.

  • Day 21: phone call for anyone above your top-cohort threshold. Affiliate manager, not support.

  • Day 28: account tagged "no response — remains on fiat", logged with the dates and channels attempted, and dropped from the migration cohort for this cycle.

Silence stays on fiat. It never means implied consent, and it never means holding their payment. Withholding a commission because someone ignored your migration email is how you turn an admin problem into a public complaint on an affiliate forum.

Your top cohort will end up somewhere around 60–75% of commission value moving on-chain in cycle one. The long tail won't come close, and that's fine. Don't chase 100%. A permanent hybrid fiat and crypto affiliate payouts model is the realistic destination, and it runs perfectly well once the plumbing is right.

Can an affiliate take part fiat and part stablecoin in the same cycle?

Yes, and your bigger affiliates will ask. Some want 70% on-chain for cash flow and 30% to a bank account for payroll and tax. Others want a fixed fiat amount every month and the balance in USDT. Both are reasonable requests and both break a batch builder that assumes one rail per affiliate.

If you're going to offer it, decide the rules before you advertise it:

  • Split by percentage or by fixed amount, not both. Pick one and enforce it in the portal. Percentage is easier to reconcile; fixed-amount splits break when commission comes in below the fixed leg.

  • One export, two lines, one parent reference. The affiliate's commission produces two payment lines that share a parent payout ID. Both lines must sum exactly to the frozen export figure for that affiliate, including fee treatment.

  • Decide which leg absorbs rounding. Fiat, usually, since it handles sub-cent amounts better than a network with fixed decimals.

  • Apply minimums to each leg separately. A $100 minimum split 90/10 produces a $10 crypto leg that may cost $3 to send. Either raise the minimum for split payouts or floor the small leg into the next cycle.

  • Validate that neither leg appears twice. The duplicate check from cycle 2 has to understand parent-child lines, or split payouts will trip it constantly and someone will disable the check. That's how you end up double-paying.

Offer splits to your top cohort and to anyone who asks with a real reason. Don't make it the default. Every split payout doubles the reconciliation lines for one affiliate, and the operational cost only pays for itself on large balances.

Stablecoin or BTC? write the valuation rules down before you argue about them

Most programmes settle affiliate commission in a USD-pegged stablecoin, and they're right to. Commission is a USD- or EUR-denominated liability; paying it in a volatile asset means one of you takes an FX position nobody priced. Some affiliates will still ask for BTC. A few will insist.

If you allow non-stablecoin settlement, your payout policy needs four specific rules, in writing, before the first BTC payment:

  1. The valuation timestamp. The exact moment the fiat commission converts to a crypto amount. "At batch build, T-0, using the provider's quoted mid-market rate" is a defensible rule. "When we got round to it" is not. Record the timestamp on every line.

  2. The rate source. Which reference price, from which venue or index, and what you do if that source is unavailable. Name a fallback.

  3. Rounding. How many decimals, rounded which way, and where the residue goes. BTC to 8 decimals and USDT to 6 is fine as long as you're consistent and the rounding difference posts to a named account rather than vanishing.

  4. Who carries price movement between quote and confirmation. If BTC moves 3% in the eleven minutes between build and confirmation, has the affiliate been paid in full? Your answer should be "the commission is settled at the quoted amount, and price risk after quote sits with the affiliate", and it should be in their terms, agreed in advance.

The same discipline applies to two operational edge cases that regularly cost people a morning:

Dust and minimum thresholds. Balances below your minimum roll forward. Say so explicitly, with the number, in the affiliate terms. Then handle the exceptions: an affiliate closing their account with $12 accrued, a dormant account with $4 that's been rolling for a ye

Frequently Asked Questions

Why do affiliate payout migrations fail, and what actually breaks?

What does the migration timeline look like phase by phase?

How do you audit the affiliate ledger before touching anything?

How should you segment the affiliate base before you start?

How should you approach switching affiliate payout provider as a casino?

Power your payments & payouts with LightningPay

Accept Bitcoin and stablecoins, enable instant withdrawals, and deliver better player experiences with infrastructure built for iGaming.

Trusted & Certified

SOC2 Type 2

PCI-DSS

ISO 27001

KYC/AML

Power your payments & payouts with LightningPay

Accept Bitcoin and stablecoins, enable instant withdrawals, and deliver better player experiences with infrastructure built for iGaming.

Trusted & Certified

SOC2 Type 2

PCI-DSS

ISO 27001

KYC/AML

Power your payments & payouts with LightningPay

Accept Bitcoin and stablecoins, enable instant withdrawals, and deliver better player experiences with infrastructure built for iGaming.

Trusted & Certified

SOC2 Type 2

PCI-DSS

ISO 27001

KYC/AML