LogoLogo
  • 📱---DexAppBuilder---
    • Overview
    • Available networks
    • ▶️Creating my first DApp
    • Starting with templates
    • Managing this tool
      • Importing tokens
      • Custom domains
      • Configuring teams
      • Configuring navbar
      • Default sections
      • Building custom sections
      • Gated content
      • DApp ownership
    • Embedding external sites
    • Embedding internal apps
    • App version control
    • Leaderboards
    • AI Completion 🔥
    • Referral system
    • e-Commerce (Beta) 🔥
  • ⚖️---DexSwap---
    • Overview
    • Creating my first swap
    • Managing this tool
  • 📜---DexContracts---
    • Overview
    • Requirements
    • Web3 forms generator
    • Thirdweb contracts 🔥
      • Edition
      • Edition Drop
      • Marketplace (unlisted)
      • NFT Collection
      • NFT Drop
      • Split
      • StakeERC721
      • Token
      • Token Drop
      • Vote
      • StakeERC20
      • Multiwrap
      • AirdropERC20
      • Airdrop ERC20 Claimable
      • AirdropERC721
      • AirdropERC1155
    • Creating my first NFT collection
    • Managing deployed contracts
    • Future updates
  • 🔄---DexExchangePro---
    • Overview
    • Deploying this product
  • 🖼️---DexNFTStore---
    • Overview
    • Creating my first store
    • Managing this tool
  • 👛---DexWallet---
    • Overview
    • Creating my first wallet
    • Managing this tool
  • 📙Docs
  • ⭐WordPress products
  • 🎮Blockchain gaming
  • DexKit's blog
Powered by GitBook
On this page
  • Key Features
  • Deployment Parameters Explained
  • Using CSV for large address list
  • How Claims Work
  • Example Configuration (Testnet)
  • Notes
  • Embedding the Airdrop ERC20 Claimable Contract into Your DApp (DexAppBuilder)
  • The User Experience: Claiming Tokens
  1. ---DexContracts---
  2. Thirdweb contracts 🔥

Airdrop ERC20 Claimable

Enables a decentralized way for users to claim ERC20 tokens themselves.

Last updated 17 hours ago

Key Features

  • Self-Claim Mechanism: Users can claim their tokens directly from the contract UI.

  • Merkle-Based Allowlist (Optional): Use a Merkle root to allow only specific addresses to claim.

  • Public Claim Support: If no allowlist is defined, any wallet can claim tokens.

  • Claim Limits: Limit how many tokens each wallet can claim.

  • Expiration Timestamp: Define a time after which tokens can no longer be claimed.

Deployment Parameters Explained

Before deploying the contract, you must fill in the following fields:

Field
Description

Name

A human-readable name for the contract (e.g., “Spring Token Drop”).

Symbol

A short, symbolic name (e.g., SPRING) for UI labeling.

Image

Upload an image or logo for your airdrop. Appears in the UI interface.

Token Owner

The address that owns the tokens and will approve the transfer of airdropped tokens. Must call approve() if not the deployer.

Airdrop Token

Contract address of the ERC20 token to be distributed.

Airdrop Amount

Total number of tokens available for claim across all users.

Expiration Timestamp

UNIX timestamp (in seconds) after which tokens cannot be claimed. Use a converter (e.g., https://www.unixtimestamp.com/) to get the correct value.

Claim Limit per Wallet

Maximum number of tokens each wallet can claim. - Use 0 to rely solely on the Merkle allowlist. - Set any number to enforce a hard cap per wallet in public mode.

Merkle Root

(Optional) Merkle root generated from an allowlist. - If none is needed, enter 0x (zero address style). - Used to validate claims off-chain and prove them on-chain.

Add Airdrop List

Optional tool to upload your allowlist and generate the Merkle root directly within the interface.

Once all required fields are filled, click Deploy Contract.

Using CSV for large address list

As with other contracts, the use of CSV lists is also permitted for a large number of wallets.

How Claims Work

After deployment:

  • If a Merkle root is provided, users must prove they're on the allowlist by submitting a valid proof at claim time.

  • If no Merkle root is set (0x), any user can claim up to the value set by Claim Limit per Wallet.

  • All claims respect the Expiration Timestamp.

Example Configuration (Testnet)

Field
Example Value

Name

Airdrop ERC20 Claimable test contract

Symbol

CAERC20

Token Owner

0xAf16774D...BC0fB

Airdrop Token

0xf3ba6c45...0bfa8edd

Airdrop Amount

10

Expiration Timestamp

1715385600 (May 11, 2024)

Claim Limit per Wallet

1

Merkle Root

0x (no allowlist)

Notes

  • If the token is not owned by the contract, the token owner must approve the contract to spend the total Airdrop Amount.

  • You can reuse the Add Airdrop List option to generate Merkle roots with updated allowlists before deployment.

  • Ideal for projects needing public airdrops, whitelist campaigns, or time-limited incentives.

Embedding the Airdrop ERC20 Claimable Contract into Your DApp (DexAppBuilder)

After deploying and approving your token airdrop contract, you can make it available for users to interact with directly from your DApp. DexAppBuilder provides a visual way to embed a ready-made claim UI.

Step-by-Step: Add Claim Section to Your App

1. Create a New Page

  • Go to Admin > Manage Apps > Edit App

  • Under Pages, click + NEW PAGE

  • Enter a name (e.g., Claim Tokens) and click CREATE

2. Add a Section

  • Inside the new page, click + ADD SECTION

  • In the modal, scroll or search for DexGenerator Contract (under Web3 category)

  • Click to select it

3. Select the Deployed Airdrop Contract

  • You'll now see a list of your deployed contracts

  • Choose the one with the type AIRDROPERC20CLAIMABLE

  • Click it and preview the claim UI

4. Save and Deploy

  • Click SAVE to add the section to your page

  • Back on the page layout, press SAVE again to publish the changes

The User Experience: Claiming Tokens

Once published, users visiting this page will see:

  • Airdrop Token Info: Address, symbol, and claim amount

  • Available Amount: How much they can claim

  • Expiration Info: Expiry date/time if set

  • CLAIM AIRDROP Button: Executes the claim function

If the contract uses a Merkle tree (allowlist), the user must be included and provide a valid proof (handled automatically if integrated properly).

Optional Final Step: Publish Public Page

  • Toggle the VIEW PUBLIC PAGE switch to make the contract page accessible to external users.

  • This enables easy sharing of airdrop claim pages without embedding.

📜