Getting started
Quickstart
Connect a Sepolia wallet, import the confidential ERC-7984 token you hold, and run your first confidential distribution.
Before you start
To use the hosted app you need:
- A wallet on the Sepolia testnet (chain ID 11155111).
- A little Sepolia ETH for gas.
Obscura ships no default token. Import the confidential ERC-7984 token you already hold by address in the in-app token menu.
Run your first distribution
1
Connect a wallet
Open the app and connect a Sepolia wallet.
2
Import your token
In the token menu, import the confidential ERC-7984 token you already hold by address. Obscura validates it onchain before you can use it.
3
4
Configure and launch
Name the campaign, set the schedule or claim window, and paste recipients as
address, amount. Each allocation is encrypted per recipient before anything is written onchain.5
Share
For airdrops you get a shareable claim link per recipient. Vesting and held balances show up in the recipient's portfolio automatically.
Recipients format
Paste or upload one recipient per line. The parser accepts commas, tabs, semicolons, or whitespace, and a header row is optional.
recipients.csv
address, amount0x71C7656EC7ab88b098defB751B7401B5f6d8976F, 2500000xAb5801a7D398351b8bE11C439e05C5B3259aeC9B, 100000Addresses are checksum-normalized, amounts must be greater than zero and within the encrypted-balance ceiling, duplicates are flagged, and a batch is capped at 1000 recipients.
Run it locally
Optional: to build on Obscura, clone the repo and run it locally.
Local development requires Node >= 22 and pnpm >= 10.
Terminal
pnpm install # copy env and run the appcp app/.env.example app/.env.local # optional: RPC, WalletConnect IDpnpm app:dev # http://localhost:3000WalletConnect
WithoutNEXT_PUBLIC_WALLETCONNECT_ID, injected wallets (MetaMask) work but WalletConnect wallets fail with a 403. Set it if you need WalletConnect.