Products
Confidential Airdrop
A pull-model airdrop: the admin signs an encrypted claim authorization per recipient, and recipients claim from a self-contained link. Amounts and pool size stay hidden onchain.
How it works
An airdrop is a pull distribution: you authorize each recipient, and they come and claim. Launching a campaign runs three onchain actions:
Approve the operator
setOperator(airdropFactory, deadline)).Deploy and fund
Sign allocations
Claim links
Every recipient gets a self-contained claim link. There is no backend: the link itself carries the encrypted amount, its input proof, and your signature.
https://your-app.example/dashboard/portfolio/airdrop?t=eyJhIjoiMHhBaXJkcm9wIiwiciI6IjB4UmVjaXBpZW50IiwiaCI6IjB4SGFuZGxlIn0The token in the t parameter is base64url-encoded JSON that includes:
- the airdrop clone address and the recipient address,
- the encrypted amount handle and its Zama input proof,
- the admin's signature over the recipient and handle, and an optional label, symbol, and decimals.
Fast mode
By default you sign each authorization in your wallet, one prompt per recipient. Fast mode trades those prompts for a single setup transaction: it creates an ephemeral session key that signs every authorization locally.
Do not revoke the session key early
Fast mode grants an in-memory session key the campaign's admin role. The key never leaves your browser and keeps its role until you revoke it from campaign management. Revoking it before the claim window closes invalidates any links recipients have not claimed yet. Revoke it only after the window ends.Managing a campaign
After launch, each campaign appears in your campaign list (Live, Paused, Scheduled, or Ended), discovered automatically from onchain events. From there you can:
- Pause or unpause claims.
- Extend the claim window, if you allowed that when configuring the campaign.
- Withdraw remaining tokens after the window closes.
- Revoke the fast-mode session key once claims are done (mind the warning above).
- Rescue tokens that were sent to the campaign by mistake.
What stays hidden
Allocation amounts and the total pool size are encrypted onchain. Recipient addresses remain visible, as in any ERC-7984 token.