Configure the campaign
Fill in the campaign details:
- Title: public campaign name
- Token: BCH or a CashToken (requires the 32-byte
tokenCategoryhex) - Total amount: full pool to distribute
- Amount per claim: how much each wallet receives per claim
- Max claims per address: defaults to 1
- Start / End dates: optional claim window
- KYC restricted: enable to require a recipient whitelist
Generate merkle tree (KYC only)
If KYC is enabled, upload a CSV with
address,amount rows. The app POSTs to POST /api/airdrops/:id/generate-merkle and stores the merkle root in the contract.Fund the contract
Click Fund. The app calls
GET /api/airdrops/:id/funding-info to build the funding wcTransaction. Sign in your wallet.Confirm funding
After your wallet broadcasts, the app calls
POST /api/airdrops/:id/confirm-funding. Once the on-chain output is verified, the campaign status changes to ACTIVE.Airdrop Lifecycle
COMPLETED when all tokens are claimed. It moves to CANCELLED when the creator cancels and withdraws remaining funds.
