Referrals run at two levels. Users on Rabbithole share campaigns with their invite link and earn a share of what their referees earn; that flow is described in Referrals in the Rabbithole section. Protocols and partners configure the split and integrate attribution, which is what this page covers.
What Is Live Today
- The campaign-level split is an on-chain parameter set at campaign creation. Campaigns created with a non-zero split get a dedicated
ReferralDistributorcontract; campaigns created without one have no referral program and cannot add one later. - The referral pool is transferred to that distributor when the campaign is created, so the money is set aside up front rather than promised.
- Claiming happens on-chain through the Manager, which pays out of the distributor, in a claim window enforced by the contract. Rabbithole users claim from the Referral earnings page; integrations fetch a proof from the API and submit it.
What Is Available
How It Works
Three numbers, at three different levels. They are easy to conflate.1
The campaign sets aside a pool
At creation, the campaign carves a share of the campaign fee into a referral pool and transfers it to the campaign’s own
ReferralDistributor. This comes out of the fee, not out of participant rewards. The reward budget users earn from is unchanged.2
Referrers accrue an entitlement
A referrer earns 25% of the rewards their referees actually earned in that campaign. Because it is a share of earned rewards rather than of deposits, capital that arrives and leaves immediately is worth almost nothing. It pays for retained TVL.
3
Entitlements are scaled into the pool
Entitlements are computed after the campaign finalizes and then scaled pro rata into whatever the pool actually holds. The pool is a hard cap: if total entitlements exceed it, every referrer is scaled down proportionally. Referrers claim their share on-chain.
Attribution
A referee is bound to a referrer once, and the binding is deliberately strict:- One referrer per referee, globally. The bind applies to every campaign on every chain. First bind wins, and it is permanent.
- It only counts where it came first. A bind earns the referrer a share of a campaign only if it precedes the referee’s first reward-accruing position in that campaign. Campaigns the referee had already entered are unaffected. A five-minute grace window absorbs the race between submitting the bind and the deposit landing in a block.
- Rabbithole accounts on both sides. The referee and the referrer must both have wallets linked to Rabbithole, and to different accounts.
POST /v1/referrals/bind with a signed ReferralBind message. See Add Referrals for the integration.
Campaigns that reward anyone holding the target position still reward users who arrive through your product. They just cannot be attributed to you without a bind, so nobody can be paid for having sent them.
What This Is Not
- Not a discount on your campaign fee. The split changes who receives the fee, not how much is charged.
- Not a cost to participants. Rewards are untouched. A campaign with a referral split pays its users exactly what the same campaign without one would pay.
- Not a general affiliate program. It is scoped per campaign, with one rate, and configured by the Rabbithole team.
- Not the Ecosystem Ambassador Program. That program pays bounties for introducing organizations that go on to run campaigns, on verified commercial milestones. See Ecosystem Ambassador Program.
Keep Exploring
Pricing
How campaign fees are charged and what happens to budget nobody claims.
Earning Activation
The related control that limits rewards to users who entered through Rabbithole.