
Keep custody of your tokens with token wrappers
Run Merkl campaigns without ever transferring your reward tokens — Merkl is just the distribution infrastructure, you stay in control of the fundsMerkl is infrastructure, not a custodian
In most Merkl setups, you prefund the campaign upfront by transferring your reward tokens to Merkl's distribution contracts. For large clients and specific setups, however, we offer a custody-preserving path where you never have to hand over the reward tokens. Merkl remains a distribution layer in both cases (it computes who deserves what and publishes the Merkle proofs), and in this custody-preserving setup the tokens stay in your treasury, multisig, or any address you control until the moment a user actually claims.
This is made possible by token wrappers: small contracts that wrap your reward token and pull the underlying funds from your address on claim via a standard ERC-20 allowance. From the user's perspective, nothing changes — they still claim the underlying token. From your perspective, the budget never leaves your control.

Why this matters
- No prefunding required. No upfront transfer to a Merkl contract. You only spend what's actually claimed.
- Unclaimed tokens stay with you. Users who never claim don't cost you anything — leftovers remain in your treasury.
- Adjust at any time. Revoke the allowance to pause, or top up your treasury to extend. You don't need a Merkl operation to change course.
- Fits any governance process. The approval can come from a multisig, a DAO vote, or any custom signer — same pattern you already use.
How to deploy a wrapper
Deploy one directly from the Studio in a few clicks: Studio → Token Wrappers. Four templates are available:
- Pull-on-Claim — the standard custody-preserving wrapper. Tokens stay in your address, pulled on claim. Best for airdrops, TGEs, and campaigns with uncertain final spend.
- aToken Unwrapper (Aave) — same mechanism, tailored for Aave v3 aTokens. Withdraws from Aave on claim so users receive the base asset.
- Auto-Vault (ERC-4626) — pulls from your address and deposits into an ERC-4626 vault on claim, so rewards compound from day one.
- Native Token Unwrapper — distribute wETH, auto-unwrap to native ETH on claim.
Once deployed:
- Approve the wrapper contract to spend the underlying token from the address holding your treasury.
- Hold enough underlying tokens in that address to cover expected claims.
- Launch your campaign on Merkl using the wrapper as the reward token.
That's it — no token ever leaves your address unless a legitimate user claims it.
Learn more
For the full technical breakdown, custom use cases, and time-gated claims for TGEs, read the token wrappers section of the Merkl docs.
Related Guides

How to run incentive campaigns that actually work
Proven tips and recommendations based on our experience running the biggest and most successful incentive campaigns, from goal-setting and budget sizing to liquidity retention
Your first campaign
Step-by-step guide to launching your first incentive campaign on Merkl
