Skip to main content
Airdrops distribute BCH or CashTokens through claimable campaigns. Campaigns can be public or Merkle-restricted.

List Campaigns

GET /api/airdrops?creator={address}
Returns campaigns created by the provided address.

List Claimable Campaigns

GET /api/airdrops/claimable?address={address}
Returns active campaigns the address can still claim from.
GET /api/airdrops/claim/:token
Resolves a public claim token to its campaign.

Get Campaign

GET /api/airdrops/:id
Returns the campaign record and its claim history.

Create Campaign

POST /api/airdrops/create
Creates a pending campaign and returns funding details.

Generate Merkle Tree

POST /api/airdrops/:id/generate-merkle
Required for restricted campaigns before funding.

Funding

GET /api/airdrops/:id/funding-info
POST /api/airdrops/:id/confirm-funding
Use these routes to build and confirm campaign funding.

Claim

POST /api/airdrops/:id/claim
POST /api/airdrops/:id/confirm-claim
Claim transactions are claim-authority co-signed by the backend flow before the wallet signs and broadcasts them.

Get Merkle Proof

GET /api/airdrops/:id/proof/:address
Returns the Merkle proof for a restricted campaign recipient.

Campaign Controls

POST /api/airdrops/:id/pause
POST /api/airdrops/:id/confirm-pause
POST /api/airdrops/:id/cancel
POST /api/airdrops/:id/confirm-cancel
These routes are creator-only and require x-user-address.

Public Control Surface

The public control routes currently exposed by the backend are:
  • pause
  • confirm-pause
  • cancel
  • confirm-cancel
Read operational docs from the mounted backend routes rather than from covenant capability alone.