SettleMint
ArchitectureComponentsCapabilities

Airdrop

The Airdrop capability distributes funded tokens to eligible wallets through time-bound, vesting, or push strategies. Each strategy uses a Merkle root for eligibility and records claims on-chain so recipients cannot claim more than their allocation.

DALP airdrops move tokens from a funded distribution contract to eligible wallets. The capability supports three strategies: recipient claims within a time window, recipient claims against a vesting schedule, and administrator-pushed batch distributions.

Airdrops do not mint tokens, build the off-chain Merkle tree, or replace the identity and compliance rules on the underlying token.

Identity, claim topics, and trusted issuers are defined in the claims and identity model. Per-token transfer policy is defined in asset policy.

When to use an airdrop

Use an airdrop when the issuer already has a funded token balance and needs controlled distribution to a known recipient set. The Merkle root commits the recipient list and allocations at deployment. At claim or distribution time, the contract verifies the submitted proof against that root and records the claim before another transfer can reuse the same allocation.

Use the asset lifecycle to create or mint the token first. Then fund the airdrop contract with the amount available for distribution.

Strategy map

StrategyDistribution modelPrimary controlTypical use
Time-boundRecipients claim their allocation with a Merkle proofStart and end timestamps enforced on-chainToken launches or campaign windows where recipients self-serve
VestingRecipients initialise vesting with a Merkle proof, then claim vested amountsInitialisation deadline and vesting strategyTeam, investor, or staged distributions
PushAn administrator distributes batches to recipients with Merkle proofsBatch distribution call and proof validationTargeted distributions where the issuer controls timing

Contracts and responsibilities

ContractResponsibility
DALPAirdropShared Merkle verification, claim dispatch, claim tracking, and owner withdrawal logic
DALPTimeBoundAirdropImplementationAdds start and end time checks for claim-based airdrops
DALPVestingAirdropImplementationAdds vesting initialisation, vesting strategy lookup, and vested-amount claims
DALPPushAirdropImplementationAdds administrator-driven single and batch distribution
Claim tracker contractsTrack claimed state so an allocation cannot be reused
Factory and proxy contractsDeploy each strategy through the configured factory pattern

Claim and transfer flow

The base claim path has four checks before tokens leave the distribution contract. For the sequence view, see the airdrop distribution flow.

  1. The submitted recipient, index, amount, and proof match the Merkle root stored on the airdrop contract.
  2. The selected strategy accepts the current timing or vesting state.
  3. The claim tracker confirms the allocation has not already been consumed beyond its allowed amount.
  4. The contract transfers tokens from the funded airdrop contract to the recipient and records the claim state.

Strategy details

Time-bound airdrop

A time-bound airdrop accepts claims only between startTime and endTime. Claims before the start revert with AirdropNotStarted; claims after the end revert with AirdropEnded. The contract also exposes isActive() and getTimeRemaining() so callers can check the claim window before submitting a transaction.

Vesting airdrop

A vesting airdrop separates eligibility from release. The recipient first initialises vesting for an allocation before the initializationDeadline. After initialisation, the vesting strategy determines how much of the total allocation is currently claimable. The contract rejects uninitialised claims, duplicate initialisation for the same index, zero transferable amounts, and invalid vesting strategy addresses.

Push airdrop

A push airdrop moves tokens through administrator-initiated distribution calls. The caller supplies recipient, index, amount, and Merkle proof data. Batch distribution validates array shape and proof data before distributing multiple allocations in one transaction.

Trust boundaries

BoundaryWhat DALP verifiesWhat remains outside the contract
EligibilityThe submitted proof matches the on-chain Merkle rootBuilding and approving the recipient list before deployment
Allocation reuseClaim tracker state prevents repeated consumption of the same allocationCorrectly selecting the tracker model for the distribution shape
TimingTime-bound and vesting contracts enforce their configured timestampsChoosing business dates and communicating them to recipients
Token transferTokens are transferred from the funded airdrop contractFunding the contract with enough balance before opening distribution
ComplianceThe underlying token keeps its identity and transfer policyOff-chain KYC, issuer governance, and evidence collection

Operational notes

  • Fund the airdrop contract before opening claims or running push distribution. The airdrop contract can only distribute tokens it already holds.
  • Treat the Merkle root as a deployment-time commitment. Changing the recipient list requires a new root and, depending on the deployment pattern, a new airdrop instance.
  • Keep proof generation deterministic. Recipients and administrators need proof data that matches the exact root stored on-chain.
  • Use the strategy-specific read functions to avoid avoidable reverted transactions, such as claims outside the time window or vesting claims before initialisation.
  • Indexer handlers record airdrop creation events and transfer events by chain and address, including the airdrop type, token address, Merkle root, recipient, and amount.

On this page