Products
Confidential Disperse
A push-model bulk payout that sends encrypted amounts to many recipients in one transaction, keeping per-recipient amounts and subtotals private.
How it works
Disperse is a push distribution: you send tokens directly to a list of recipients, no claim step. Paste recipients as address, amount, and the encrypted amounts are pushed out in one atomic transaction where the wallet supports it.
Operator approval
The disperse singleton pulls encrypted subtotals from your wallet with confidentialTransferFrom, so you must approve it as an ERC-7984 operator first, or the disperse reverts.
setOperator(disperseSingleton, FAR_FUTURE_DEADLINE)Approve before dispersing
A one-time setup registers your disperse sub-wallets and grants this operator approval. The deadline is set far in the future (a uint48 timestamp around the year 2096) so you do not have to re-approve for each batch. Without the approval the transaction reverts.Batching
A disperse can involve setup, an operator approval, and the payout. When your wallet supports atomic batching (an EIP-7702 EOA or a smart account), Obscura sends all of them as a single, all-or-nothing EIP-5792 call, so it is one signature that either fully lands or fully reverts. Otherwise it falls back to sequential transactions, one prompt per step, with the same end result.
Fee modes
A disperse charges a small fee, and you choose how to pay it:
- Pay fee in ETH - the fee rides along as ETH on the disperse call.
- Pay fee in the token - the fee is taken as a small percentage of the tokens dispersed.
The two modes have different per-batch recipient caps, shown in the form; a cap of zero means no limit for that mode.
What stays hidden
Per-recipient amounts and the subtotals are encrypted onchain. Recipient addresses remain visible.