Skip to main content

2 posts tagged with "guide"

View All Tags

PYUSD on Solana: The Practical Integration Guide (with BlockEden.xyz RPC)

· 9 min read
Dora Noda
Software Engineer

PayPal USD (PYUSD) has landed on Solana, marking a significant milestone for digital payments. This guide provides a direct, production-minded walkthrough for engineers integrating PYUSD into wallets, dApps, and commerce platforms on Solana.

All examples use fresh, Token-2022-aware code and are designed to work seamlessly with BlockEden.xyz's low-latency Solana RPC endpoints.

TL;DR

  • What: PayPal USD (PYUSD) is now a native Token-2022 SPL token on Solana, offering fast, low-fee settlement for a globally recognized stablecoin.
  • Key Params: Mint 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo, decimals 6, and token program Token-2022.
  • Feature Set: Leverages Solana Token Extensions (Token-2022). It has a Transfer Hook initialized but currently inactive (null program), along with confidential transfer capabilities and other extensions.
  • Cross-chain: An official LayerZero integration enables PYUSD to move between Ethereum and Solana via a secure burn-and-mint mechanism, bypassing traditional bridges.
  • Action: Use this guide as a drop-in template to add PYUSD support to your application with BlockEden.xyz's reliable Solana RPC.

Why PYUSD on Solana Matters

The combination of PayPal's brand with Solana's performance creates a powerful new rail for digital dollars.

  1. Consumer Trust Meets Crypto UX: PYUSD is issued by the regulated trust company Paxos and is deeply integrated into PayPal and Venmo. This gives users a familiar asset. They can hold a single PYUSD balance and choose to withdraw to an external wallet on either Ethereum or Solana, abstracting away chain complexity.
  2. Payments-Ready Rails: Solana’s architecture provides sub-second transaction finality and fees that are fractions of a cent. PYUSD layers a stable, recognizable unit of account on top of this efficient settlement network, making it ideal for payments, commerce, and remittances.
  3. Institution-Grade Controls: By launching as a Token-2022 token, PYUSD can utilize built-in extensions for features like confidential transfers, rich metadata, and a permanent delegate. This enables advanced compliance and functionality without requiring bespoke, difficult-to-audit smart contracts.

The Absolute Essentials (Pin These)

Before you write a single line of code, get these parameters locked in. Always verify the mint address in a trusted explorer to avoid interacting with fraudulent tokens.

  • Mint (Mainnet): 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo
  • Decimals: 6 (meaning 1 PYUSD = 1,000,000 base units)
  • Token Program: Token-2022 (Program ID: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb)
  • Token Extensions Used (at mint):
    • Metadata & Metadata Pointer
    • Permanent Delegate
    • Transfer Hook (initialized with a null program)
    • Confidential Transfer Configuration

You can verify all of this on the Solana Explorer. The explorer will clearly show the official mint address and its enabled extensions.

Set Up Your Project

Let's get our environment ready. You'll need the latest Solana web3 and SPL token libraries to ensure full Token-2022 compatibility.

1. Libraries

Install the necessary packages from npm.

npm i @solana/web3.js @solana/spl-token

2. RPC Connection

Point your application to your BlockEden.xyz Solana Mainnet RPC URL. For production, environment variables are a must.

// package.json
// npm i @solana/web3.js @solana/spl-token

import { Connection, Keypair, PublicKey } from "@solana/web3.js";
import {
TOKEN_2022_PROGRAM_ID,
getMint,
getOrCreateAssociatedTokenAccount,
getAssociatedTokenAddress,
createTransferCheckedInstruction,
} from "@solana/spl-token";

// Use your BlockEden.xyz Solana RPC URL from your dashboard
const RPC_ENDPOINT =
process.env.SOLANA_RPC_URL ??
"[https://your-blockeden-solana-mainnet-endpoint.com](https://your-blockeden-solana-mainnet-endpoint.com)";
export const connection = new Connection(RPC_ENDPOINT, "confirmed");

// PYUSD (mainnet)
export const PYUSD_MINT = new PublicKey(
"2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo",
);

Reading PYUSD Mint Data

First, let's programmatically confirm the PYUSD mint's properties. This is a crucial first step to ensure your constants are correct and to fetch details like total supply.

// Confirm PYUSD mint info via Token-2022 APIs
const mintInfo = await getMint(
connection,
PYUSD_MINT,
"confirmed",
TOKEN_2022_PROGRAM_ID, // Specify the program ID
);

console.log({
supply: mintInfo.supply.toString(),
decimals: mintInfo.decimals, // Expect 6
isInitialized: mintInfo.isInitialized,
});

Notice we explicitly pass TOKEN_2022_PROGRAM_ID. This is the most common source of errors when working with Token Extensions.

Create or Fetch Associated Token Accounts (ATAs)

Associated Token Accounts for Token-2022 tokens must be derived using the Token-2022 program ID. If you use the legacy TOKEN_PROGRAM_ID, transactions will fail with an "incorrect program id" error.

// Payer and owner of the new ATA. Replace with your wallet logic.
const owner = Keypair.generate();

// Create or fetch the owner's PYUSD ATA (Token-2022 aware)
const ownerAta = await getOrCreateAssociatedTokenAccount(
connection,
owner, // Payer for creation
PYUSD_MINT, // Mint
owner.publicKey, // Owner of the ATA
false, // allowOwnerOffCurve
"confirmed",
undefined, // options
TOKEN_2022_PROGRAM_ID, // <-- IMPORTANT: Use Token-2022 Program ID
);

console.log("Owner PYUSD ATA:", ownerAta.address.toBase58());

Checking PYUSD Balances

To check a user's PYUSD balance, query their ATA, again remembering to specify the correct program ID.

Using @solana/spl-token

import { getAccount } from "@solana/spl-token";

const accountInfo = await getAccount(
connection,
ownerAta.address,
"confirmed",
TOKEN_2022_PROGRAM_ID,
);

const balance = Number(accountInfo.amount) / 10 ** mintInfo.decimals; // decimals = 6
console.log("PYUSD balance:", balance);

Using Direct JSON-RPC (curl)

You can also check all token accounts for an owner and filter by the Token-2022 program ID.

curl -X POST "$SOLANA_RPC_URL" -H 'content-type: application/json' -d '{
"jsonrpc":"2.0",
"id":1,
"method":"getTokenAccountsByOwner",
"params":[
"<OWNER_PUBLIC_KEY>",
{ "programId":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" },
{ "encoding":"jsonParsed" }
]
}'

Transferring PYUSD (User-to-User)

The rule of thumb for transferring any Token-2022 asset is to use createTransferCheckedInstruction. This instruction includes the token's decimals, preventing potential decimal-related vulnerabilities.

Here's a complete, reusable function for transferring PYUSD.

import { Transaction } from '@solana/web3.js';

async function transferPyusd({
fromWallet, // The sender's Keypair
toPubkey, // The recipient's PublicKey
uiAmount, // The amount in PYUSD, e.g., 1.25
}: {
fromWallet: Keypair;
toPubkey: PublicKey;
uiAmount: number;
}) {
const decimals = 6; // From mintInfo.decimals
const rawAmount = BigInt(Math.round(uiAmount * (10 ** decimals)));

// Get the sender's ATA address
const fromAta = await getAssociatedTokenAddress(
PYUSD_MINT,
fromWallet.publicKey,
false,
TOKEN_2022_PROGRAM_ID
);

// Ensure the recipient's ATA exists for Token-2022
const toAta = await getOrCreateAssociatedTokenAccount(
connection,
fromWallet, // Payer
PYUSD_MINT,
toPubkey,
false,
'confirmed',
undefined,
TOKEN_2022_PROGRAM_ID
);

const transferInstruction = createTransferCheckedInstruction(
fromAta, // Source ATA
PYUSD_MINT, // Mint
toAta.address, // Destination ATA
fromWallet.publicKey, // Owner of the source ATA
rawAmount, // Amount in base units
decimals, // Decimals
[], // Multisig signers
TOKEN_2022_PROGRAM_ID // <-- IMPORTANT
);

const transaction = new Transaction().add(transferInstruction);

// Set recent blockhash and fee payer
transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
transaction.feePayer = fromWallet.publicKey;

const signature = await connection.sendTransaction(transaction, [fromWallet]);
await connection.confirmTransaction(signature, 'confirmed');

console.log('Transaction successful with signature:', signature);
return signature;
}

A Note on the Transfer Hook: PYUSD's mint initializes the Transfer Hook extension but sets its program to null. This means standard transfers currently work without extra accounts or logic. If PayPal/Paxos ever activate the hook, they will update the mint to point to a new program. Your integration would then need to pass the extra accounts required by that program's interface.

Solana CLI Quick Test

For a quick manual test from your command line, you can use spl-token with the correct program ID.

# Ensure your CLI points to mainnet and your keypair is funded.
# Transfer 1.00 PYUSD to a recipient.
spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb \
transfer 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo 1.00 <RECIPIENT_PUBKEY> \
--fund-recipient --allow-unfunded-recipient

Cross-Chain PYUSD (Ethereum ↔ Solana)

PayPal has implemented an official cross-chain facility using LayerZero. Instead of relying on risky third-party bridges, this is a native burn-and-mint process: PYUSD is burned on the source chain (e.g., Ethereum) and an equivalent amount is minted on the destination chain (Solana). This eliminates bridge-specific risks and slippage.

You can find the full tutorial and parameters in the official PayPal Developer documentation.

Test with Faucets

For development and testing, do not use mainnet assets. Use the official faucets:

  • Paxos PYUSD Faucet: To get testnet PYUSD tokens.
  • Solana Faucet: To get devnet/testnet SOL for transaction fees.

Common Pitfalls (And Fixes)

  1. Wrong Program ID: Problem: Transactions fail with incorrect program id for instruction. Fix: Pass TOKEN_2022_PROGRAM_ID explicitly to all spl-token helper functions (getOrCreateAssociatedTokenAccount, getAccount, createTransferCheckedInstruction, etc.).
  2. Wrong Mint or Spoofed Assets: Problem: Your application interacts with a fake PYUSD token. Fix: Hardcode and verify the official mint address: 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo. Use an explorer that warns about non-canonical mints.
  3. Decimals Mismatch: Problem: Sending 1 PYUSD actually sends 0.000001 PYUSD. Fix: Always convert UI amounts to raw amounts by multiplying by 10^6. Fetch the mint's decimals programmatically to be safe.
  4. Hook Assumptions: Problem: You pre-build complex logic for a transfer hook that isn't active. Fix: Check the mint's extension data. As of today, PYUSD's hook is null. Build your system to adapt if the hook program is enabled in the future.

Production Checklist for PYUSD + BlockEden.xyz

When moving to production, ensure your infrastructure is robust.

  • RPC: Use a high-availability BlockEden.xyz endpoint. Use confirmed commitment for responsive UX and query with finalized for operations requiring ledger integrity.
  • Retry & Idempotency: Wrap transaction submissions with an exponential backoff retry mechanism. Store an idempotency key with each business operation to prevent duplicate transfers.
  • Observability: Log transaction signatures, slot numbers, and post-transaction balances. Use BlockEden.xyz's websocket subscriptions to get real-time settlement signals for your application's backend.
  • Compliance: Token-2022 provides primitives for compliance. If you need to implement features like the travel rule, the extension model allows you to do so cleanly, keeping your business logic separate from the token's core functionality.

Appendix A — Quick Reference

  • Mint (Mainnet): 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo
  • Decimals: 6
  • Token Program ID: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
  • Background: PayPal announced Solana support on May 29, 2024.
  • Official Docs: Solana Token Extensions, PayPal Developer Portal

Appendix B — Direct JSON-RPC Calls (curl)

Get Mint Account Info & Confirm Owner

This call retrieves the mint account data and lets you verify its owner is the Token-2022 program.

# Replace with your BlockEden.xyz RPC URL
curl -s -X POST "$SOLANA_RPC_URL" -H 'content-type: application/json' -d '{
"jsonrpc":"2.0","id":1,"method":"getAccountInfo",
"params":["2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo",
{"encoding":"base64","commitment":"confirmed"}]
}'

# In the JSON response, the "owner" field should equal "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb".

List All PYUSD Token Accounts for a User

This is useful for wallets that need to discover all PYUSD holdings for a given user.

curl -s -X POST "$SOLANA_RPC_URL" -H 'content-type: application/json' -d '{
"jsonrpc":"2.0",
"id":1,
"method":"getTokenAccountsByOwner",
"params":[
"<OWNER_PUBLIC_KEY>",
{"mint":"2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"},
{"encoding":"jsonParsed","commitment":"confirmed"}
]
}'

Ready to build? Grab your high-performance BlockEden.xyz RPC endpoint and start integrating the future of payments today.

What Are Crypto Airdrops? A Concise Guide for Builders and Users (2025 Edition)

· 12 min read
Dora Noda
Software Engineer

TL;DR

A crypto airdrop is a distribution of tokens to specific wallet addresses—often for free—to bootstrap a network, decentralize ownership, or reward early community members. Popular methods include retroactive rewards for past actions, points-to-token conversions, drops for NFT or token holders, and interactive "quest" campaigns. The devil is in the details: snapshot rules, claim mechanics like Merkle proofs, Sybil resistance, clear communication, and legal compliance are critical for success. For users, the value is tied to tokenomics and safety. For teams, a successful airdrop must align with core product goals, not just generate temporary hype.


What is an airdrop—really?

At its core, a crypto airdrop is a marketing and distribution strategy where a project sends its native token to the wallets of a specific group of users. This isn't just a giveaway; it’s a calculated move to achieve specific goals. As defined by educational resources from Coinbase and Binance Academy, airdrops are commonly used when a new network, DeFi protocol, or dApp wants to rapidly build a user base. By giving tokens to potential users, projects can incentivize them to participate in governance, provide liquidity, test new features, or simply become active members of the community, kickstarting the network effect.

Where airdrops show up in the wild

Airdrops come in several flavors, each with a different strategic purpose. Here are the most common models seen in the wild today.

Retroactive (reward past behavior)

This is the classic model, designed to reward early adopters who used a protocol before it had a token. Uniswap’s 2020 airdrop is the definitive example, setting the modern template by distributing 400UNI400 UNI tokens to every address that had ever interacted with the protocol. It was a powerful "thank you" that turned users into owners overnight.

Points → token (incentives first, token later)

A dominant trend in 2024 and 2025, the points model gamifies participation. Projects track user actions—like bridging, swapping, or staking—and award off-chain "points." Later, these points are converted into a token allocation. This approach allows teams to measure and incentivize desired behaviors over a longer period before committing to a token launch.

Holder/NFT drops

This type of airdrop targets users who already hold a specific token or NFT. It’s a way to reward loyalty within an existing ecosystem or to bootstrap a new project with an engaged community. A famous case is ApeCoin, which granted claim rights for its $APE token to Bored Ape and Mutant Ape Yacht Club NFT holders upon its launch in 2022.

Ecosystem/governance programs

Some projects use a series of airdrops as part of a long-term strategy for decentralization and community growth. Optimism, for example, has conducted multiple airdrops for users, while also reserving a significant portion of its token supply for public goods funding through its RetroPGF program. This demonstrates a commitment to building a sustainable and value-aligned ecosystem.

How an airdrop works (mechanics that matter)

The difference between a successful airdrop and a chaotic one often comes down to technical and strategic execution. Here are the mechanics that truly matter.

Snapshot & eligibility

First, a project must decide who qualifies. This involves choosing a snapshot—a specific block height or date—after which user activity will no longer be counted. Eligibility criteria are then defined based on behaviors the project wants to reward, such as bridging funds, executing swaps, providing liquidity, participating in governance, or even contributing code. For its airdrop, Arbitrum collaborated with the analytics firm Nansen to develop a sophisticated distribution model based on a snapshot taken at a specific block on February 6, 2023.

Claim vs. direct send

While sending tokens directly to wallets seems simpler, most mature projects use a claim-based flow. This prevents tokens from being sent to lost or compromised addresses and requires users to actively engage. The most common pattern is a Merkle Distributor. A project publishes a cryptographic fingerprint (a Merkle root) of the eligible addresses on-chain. Each user can then generate a unique "proof" to verify their eligibility and claim their tokens. This method, popularized by Uniswap’s open-source implementation, is gas-efficient and secure.

Sybil resistance

Airdrops are a prime target for "farmers"—individuals who use hundreds or thousands of wallets (a "Sybil attack") to maximize their rewards. Teams employ various methods to combat this. These include using analytics to cluster wallets controlled by a single entity, applying heuristics (like wallet age or activity diversity), and, more recently, implementing self-reporting programs. LayerZero’s 2024 campaign introduced a widely discussed model where users were given a chance to self-report Sybil activity for a 15% allocation; those who didn't and were later caught faced exclusion.

Release schedule & governance

Not all tokens from an airdrop are immediately available. Many projects implement a gradual release schedule (or vesting period) for allocations given to the team, investors, and ecosystem funds. Understanding this schedule is crucial for users to gauge future supply pressure on the market. Platforms like TokenUnlocks provide public dashboards that track these release timelines across hundreds of assets.

Case studies (fast facts)

  • Uniswap (2020): Distributed 400UNI400 UNI per eligible address, with larger allocations for liquidity providers. It established the claim-based Merkle proof model as the industry standard and demonstrated the power of rewarding a community retroactively.
  • Arbitrum (2023): Launched its L2 governance token, $ARB, with an initial supply of 10 billion. The airdrop used a points system based on on-chain activity before a February 6, 2023 snapshot, incorporating advanced analytics and Sybil filters from Nansen.
  • Starknet (2024): Branded its airdrop as the "Provisions Program," with claims opening on February 20, 2024. It targeted a broad range of contributors, including early users, network developers, and even Ethereum stakers, offering a multi-month window to claim.
  • ZKsync (2024): Announced on June 11, 2024, this was one of the largest Layer 2 user distributions to date. A one-time airdrop distributed 17.5% of the total token supply to nearly 700,000 wallets, rewarding the protocol's early community.

Why teams airdrop (and when they shouldn’t)

Teams leverage airdrops for several strategic reasons:

  • Kickstart a two-sided network: Airdrops can seed a network with the necessary participants, whether they are liquidity providers, traders, creators, or restakers.
  • Decentralize governance: Distributing tokens to a wide base of active users is a foundational step toward credible decentralization and community-led governance.
  • Reward early contributors: For projects that didn't conduct an ICO or token sale, an airdrop is the primary way to reward the early believers who provided value when the outcome was uncertain.
  • Signal values: An airdrop’s design can communicate a project’s core principles. Optimism's focus on public goods funding is a prime example of this.

However, airdrops are not a silver bullet. Teams should not conduct an airdrop if the product has poor retention, the community is weak, or the token's utility is poorly defined. An airdrop amplifies existing positive feedback loops; it cannot fix a broken product.

For users: how to evaluate and participate—safely

Airdrops can be lucrative, but they also carry significant risks. Here’s how to navigate the landscape safely.

Before you chase a drop

  • Check legitimacy: Always verify airdrop announcements through the project’s official channels (website, X account, Discord). Be extremely wary of "claim" links sent via DMs, found in ads, or promoted by unverified accounts.
  • Map the economics: Understand the tokenomics. What is the total supply? What percentage is allocated to users? What is the vesting schedule for insiders? Tools like TokenUnlocks can help you track future supply releases.
  • Know the style: Is it a retroactive drop rewarding past behavior, or a points program that requires ongoing participation? The rules for each are different, and points programs can change their criteria over time.

Wallet hygiene

  • Use a fresh wallet: When possible, use a dedicated, low-value "burner" wallet for claiming airdrops. This isolates the risk from your main holdings.
  • Read what you sign: Never blindly approve transactions. Malicious sites can trick you into signing permissions that allow them to drain your assets. Use wallet simulators to understand a transaction before signing. Periodically review and revoke stale approvals using tools like Revoke.cash.
  • Be cautious with off-chain signatures: Scammers increasingly abuse Permit and Permit2 signatures, which are off-chain approvals that can be used to move your assets without an on-chain transaction. Be just as careful with these as you are with on-chain approvals.

Common risks

  • Phishing & drainers: The most common risk is interacting with a fake "claim" site designed to drain your wallet. Research from firms like Scam Sniffer shows that sophisticated drainer kits were responsible for massive losses in 2023–2025.
  • Geofencing & KYC: Some airdrops may have geographic restrictions or require Know Your Customer (KYC) verification. Always read the terms and conditions, as residents of certain countries may be excluded.
  • Taxes (quick orientation, not advice): Tax treatment varies by jurisdiction. In the US, the IRS generally treats airdropped tokens as taxable income at their fair market value on the date you gain control of them. In the UK, HMRC may view an airdrop as income if you performed an action to receive it. Disposing of the tokens later can trigger Capital Gains Tax. Consult a qualified professional.

For teams: a pragmatic airdrop design checklist

Planning an airdrop? Here’s a checklist to guide your design process.

  1. Clarify the objective: What are you trying to achieve? Reward real usage, decentralize governance, seed liquidity, or fund builders? Define your primary goal and make the target behavior explicit.
  2. Set eligibility that mirrors your product: Design criteria that reward sticky, high-quality users. Weight actions that correlate with retention (e.g., time-weighted balances, consistent trading) over simple volume, and consider capping rewards for whales. Study public post-mortems from major airdrops on platforms like Nansen.
  3. Build in Sybil resistance: Don't rely on a single method. Combine on-chain heuristics (wallet age, activity diversity) with clustering analytics. Consider novel approaches like the community-assisted reporting model pioneered by LayerZero.
  4. Ship a robust claim path: Use a battle-tested Merkle Distributor contract. Publish the full dataset and Merkle tree so that anyone can independently verify the root and their own eligibility. Keep the claim UI minimal, audited, and rate-limited to handle traffic spikes without overwhelming your RPC endpoints.
  5. Communicate the release plan: Be transparent about the total token supply, allocations for different recipient groups (community, team, investors), and future release events. Public dashboards build trust and support healthier market dynamics.
  6. Address governance, legal, and tax: Align the token’s on-chain capabilities (voting, fee sharing, staking) with your long-term roadmap. Seek legal counsel regarding jurisdictional restrictions and necessary disclosures. As the IRS and HMRC guidance shows, details matter.

Quick glossary

  • Snapshot: A specific block or time used as a cutoff to determine who is eligible for an airdrop.
  • Claim (Merkle): A gas-efficient, proof-based method that allows eligible users to pull their token allocation from a smart contract.
  • Sybil: A scenario where one actor uses many wallets to game a distribution. Teams use filtering techniques to detect and remove them.
  • Points: Off-chain or on-chain tallies that track user engagement. They often convert to tokens later, but the criteria can be subject to change.
  • Release schedule: The timeline detailing how and when non-circulating tokens (e.g., team or investor allocations) enter the market.

Builder’s corner: how BlockEden can help

Launching an airdrop is a massive undertaking. BlockEden provides the infrastructure to ensure you ship it responsibly and effectively.

  • Reliable snapshots: Use our high-throughput RPC and indexing services to compute eligibility across millions of addresses and complex criteria, on any chain.
  • Claim infra: Get expert guidance on designing and implementing Merkle claim flows and gas-efficient distribution contracts.
  • Sybil ops: Leverage our data pipelines to run heuristics, perform clustering analysis, and iterate on your exclusion list before finalizing your distribution.
  • Launch support: Our infrastructure is built for scale. With built-in rate-limits, automatic retries, and real-time monitoring, you can ensure claim day doesn’t melt your endpoints.

Frequently asked (fast answers)

Is an airdrop “free money”? No. It’s a distribution tied to specific behaviors, market risks, potential tax liabilities, and security considerations. It's an incentive, not a gift.

Why didn’t I get one? Most likely, you either missed the snapshot date, didn't meet the minimum activity thresholds, or were filtered out by the project's Sybil detection rules. Legitimate projects usually publish their criteria; read them closely.

Should teams leave claims open forever? It varies. Uniswap’s claim contract remains open years later, but many modern projects set a deadline (e.g., 3-6 months) to simplify accounting, recover unclaimed tokens for the treasury, and reduce long-term security maintenance. Choose a policy and document it clearly.

Further reading (primary sources)