10. Airdrop Tool
D3fenders NFT Airdrop Tool
Overview
The D3fenders NFT Airdrop Tool is a self-custody, visual application for distributing NFTs to large recipient sets across Solana and EVM-compatible networks, including Avalanche custom L1s (subnets).
The tool is designed to be easy to use, guided, and adaptive, adjusting its workflow based on the network a founder is operating on.
All transactions are signed locally in the user’s wallet. Private keys, seed phrases, and signing authority never leave the user’s device.
Why This Tool Exists
NFT projects shouldn’t require custom scripts, dev time, or complex tooling just to distribute assets.
The D3fenders NFT Airdrop Tool is designed to be visual, intuitive, and flexible, while adapting automatically to the capabilities of each chain.
Different networks support different levels of infrastructure. Instead of forcing one rigid workflow, this tool adjusts:
Full automation where infrastructure exists
Manual controls where it doesn’t
Clear UI instead of hidden assumptions
The goal is simple: make advanced NFT operations accessible to anyone, not just developers.
When founders can operate confidently through a clear interface, they move more deliberately, avoid risky shortcuts, and create a more secure environment overall.
Manual workflows are not a fallback. They are a deliberate capability.
Supported Networks
Solana
Mainnet-beta
Automatic NFT discovery via Helius
EVM Networks
Ethereum
1
Automatic (Alchemy)
Polygon
137
Automatic (Alchemy)
Arbitrum
42161
Automatic (Alchemy)
Avalanche C-Chain
43114
Automatic (Alchemy)
Avalanche Fuji Testnet
43113
Manual Entry
Custom Avalanche L1s
User-defined
Manual Entry
Pre-configured Avalanche L1s
Dexalot (432204)
Beam (4337)
XANA Chain (8888)
MELD (333000333)
LOCO Legends (9393)
Custom L1s can also be added by providing:
Chain ID
RPC URL
Native currency details
Block explorer URL
Supported Token Standards
Solana
Legacy Metaplex NFTs (v1 / v2)
Programmable NFTs (pNFTs) with rule set support
MPL Core Assets
EVM
ERC-721 — Standard NFTs
ERC-1155 — Semi-fungible NFTs with quantity support
The tool automatically applies the correct transfer logic based on the token standard.
How It Works
Airdrop Workflow
The airdrop process follows a guided, step-by-step flow:
Connect Wallet — Solana or EVM
Select Collection — When automatic discovery is available
Select NFTs — Individual or bulk selection
Upload Recipients — CSV or manual entry
Choose Assignment Mode — Sequential or random
Review Assignments — Clear preview of all transfers
Execute Transfers — Wallet-signed transactions
View Results — Completion summary with transaction links
The interface adapts automatically based on the connected network.
Manual Asset Entry (Subnets & Testnets)
On networks without reliable NFT indexing (Avalanche Fuji, Avalanche L1s), the tool switches to Manual Asset Entry mode.
This mode is intentional and clearly communicated in the UI.
Manual Asset Entry allows users to:
Enter NFT contract addresses directly
Specify token IDs and quantities
Verify ownership via direct RPC calls
Optionally scan token ID ranges
This enables NFT distribution on any EVM network, even when third-party indexing is unavailable or incomplete.
Recipient CSV Format
Recipient data is provided via CSV. Files are parsed client-side only.
Supported Headers
wallet_address, walletaddress, address, wallet, recipient
quantity, amount, qty, count (optional, defaults to 1)
Example
Validation Includes
Chain-specific address validation
Duplicate detection
Maximum 10,000 recipients
Unicode and homograph attack protection
Assignment Modes
Sequential (In Order)
NFTs are assigned in the order they are selected, matching the CSV order.
Random
NFTs are shuffled using the Fisher-Yates algorithm before assignment.
Transfer Mechanisms
Solana Transfers
Solana transfers use the Metaplex UMI framework:
pNFTs with rule sets and compute budgeting
Core Assets via
mpl-coreLegacy NFTs via standard Metaplex transfers
All transactions are built first, signed in the wallet, and then sent sequentially.
EVM Transfers
The tool automatically selects the safest transfer method per chain.
Multicall3 Batching (Preferred)
Up to ~50 transfers per transaction
One-time
setApprovalForAllper collectionUsed on major networks where Multicall3 is deployed
Direct Transfers (Automatic Fallback)
Used on custom Avalanche L1s and testnets
One transaction per transfer
Uses standard
safeTransferFrom
Multicall availability is detected at runtime by checking for deployed bytecode.
Security Model
Self-Custody
Wallet-signed transactions only
No server-side signing
No key storage
Approval Scoping
Per-collection approvals only
No blanket permissions
Approvals can be revoked after completion
Input Validation
Client-side CSV parsing
Strict address validation
No silent fallbacks
Transaction Safety
User can cancel at any time
Failed transfers are surfaced clearly
Success confirmed via on-chain events
Technology Stack
Frontend
Next.js 14, React 18, TypeScript
Styling
TailwindCSS
State
Zustand
Solana
@solana/web3.js, Metaplex UMI
EVM
ethers.js v6
CSV
PapaParse
Wallets
EIP-6963 (EVM), Solana Wallet Adapter
Limitations
Avalanche L1s require manual asset entry
Fuji testnet does not support automatic discovery
Solana pNFTs cannot be batched
Max 10,000 recipients per CSV
Subject to RPC rate limits on high-volume sends
FAQ
Why do I need to approve Multicall3? Multicall3 allows batching transfers into fewer transactions to reduce gas costs. It is a widely used, audited utility contract.
What happens if a transfer fails? Failures are tracked and reported. You can retry them in a new session.
Can I send multiple NFTs to the same wallet? Yes. Each CSV row is processed independently.
How do I add a custom Avalanche L1? Use the subnet selector to add the chain ID, RPC URL, native currency, and explorer.
Last updated