For Teams

Campaigns that compound

Reward holding and on-chain participation across protocols, wallets, and stablecoins.

Example retention campaignLive

Reward funded USDC holders for staying in position, not just showing up.

AssetUSDC
CohortVerified$500+ balance
Reward curve6.0% base+1.5% identity+0.5% activity
Duration60 days
MilestonesDay 30Day 60 bonus
Timelinetime is the paid unit
Day 0Day 30Day 60
+1.5% bonus+3.0% bonus
Teams using Rabbithole
WorldOptimismArbitrumCeloMorphoParaPolymarketUniswapZoraWorldOptimismArbitrumCeloMorphoParaPolymarketUniswapZora
The KPI shift

Most programs optimize for completions, not activation & retention

Your KPI is not “quests completed.” It’s how much capital stays and what behavior repeats.

Spike vs retention90-day cohort
Day 0306090
Typical airdrop cohortRabbithole cohort
Quest completions
  • Tasks completed
  • Click-throughs
  • One-off unique wallets
  • Short-lived traffic spikes
Activation & Retention metrics
  • Retained balances
  • 30-day wallet retention
  • Net new capital
  • Repeat on-chain activity
Process

How it works

Launch an Activation & Retention campaign in four simple steps.

Phase 01 of 04

Define the outcome

Retained balances, active wallets, or repeat behaviors.

Metrics

The five numbers we report on every campaign

Every campaign ships with the same measurement rail. Partners see the same cohort math we do, in-product during the window and after it closes.

  • 01 / 05

    Retained wallets

    Unique wallets still active in the target behavior after the reward window closes.

  • 02 / 05

    Retained capital

    Dollar value still deposited or in-position after incentives unlock.

  • 03 / 05

    Time-in-position

    Median duration wallets hold the target asset or position.

  • 04 / 05

    Repeat claims

    Share of wallets earning the same behavior across multiple cycles.

  • 05 / 05

    Cost per retained $

    Reward spend divided by capital still retained at day 30, 60, 90.

Quality

Make reward spend more precise

Layer identity, behavior, and capital filters to reach the wallets a campaign is actually meant to move, and reduce spend on shallow, low-intent participation.

Identity

Qualify who should be eligible.

Identity checksAllowlistsFirst-time depositor logicQuality filters

Behavior

Reward wallets with real signal.

Minimum prior activityChain historyInteraction patterns

Capital

Focus rewards on net-new and in-scope balances.

Minimum balanceNet-new capitalFresh deposit logic

Fit

Built for teams that measure what lasts

Cheap activation is solved. Durable retention isn’t. These are the teams it’s built for, and the shift every campaign is designed to make.

Developer surface

Embed Boost directly in your product

Use the headless SDK for full control. Or drop in RewardKit to ship in minutes. Same primitives underneath.

Headless SDK

Bring your own UI

Call Boost primitives directly. Build boosts, scope budgets, and surface claims wherever your users are.

Read the docs
sdk.ts
// Headless SDK (pseudo)

import { Boost } from "@rewardkit/sdk";
const rk = new Boost({ apiKey: process.env.RK_API_KEY });

const boost = await rk.createBoost({
  action: { type: "onchain", chain: "base" },
  match:  { contract: "0x...", method: "swap" },
  budget: { asset: "USDC", scaleWith: "tradeAmount" },
});

console.log(boost.claimUrl);
RewardKit

Drop-in incentive widget

Place an interactive offer surface anywhere in your app. We handle the claim flow, identity, and payouts.

Read the docs
RewardKit widget preview

Start paying for users and capital that stay