Identity
Qualify who should be eligible.
Identity checksAllowlistsFirst-time depositor logicQuality filters
Reward holding and on-chain participation across protocols, wallets, and stablecoins.
Reward funded USDC holders for staying in position, not just showing up.
Your KPI is not “quests completed.” It’s how much capital stays and what behavior repeats.
Launch an Activation & Retention campaign in four simple steps.
Retained balances, active wallets, or repeat behaviors.
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.
Unique wallets still active in the target behavior after the reward window closes.
Dollar value still deposited or in-position after incentives unlock.
Median duration wallets hold the target asset or position.
Share of wallets earning the same behavior across multiple cycles.
Reward spend divided by capital still retained at day 30, 60, 90.
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.
Qualify who should be eligible.
Identity checksAllowlistsFirst-time depositor logicQuality filters
Reward wallets with real signal.
Minimum prior activityChain historyInteraction patterns
Focus rewards on net-new and in-scope balances.
Minimum balanceNet-new capitalFresh deposit logic
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.
Use the headless SDK for full control. Or drop in RewardKit to ship in minutes. Same primitives underneath.
Call Boost primitives directly. Build boosts, scope budgets, and surface claims wherever your users are.
Read the docs// 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);Place an interactive offer surface anywhere in your app. We handle the claim flow, identity, and payouts.
Read the docs