# Ethereum NFT allowlists and free claims: three 2025 launches

Research date: 30 September 2026. Window: 1 January 2025–30 September 2026. All three selected collections launched in 2025 and minted on **Ethereum mainnet**; the affiliated networks and games need not have launched then. This is a comparison of launch mechanics, not investment advice or a security audit.

**Finding:** Fluffle used Merkle-proof minting; Anichess Ethernals' observed claim is strongly consistent with a Merkle allowlist; One Gravity's observed transactions support an administrator-maintained onchain allowlist, although its exact launch-time storage implementation remains unverified here. The three sampled free claims consumed 123,931–127,973 gas each. Those observations do not establish an inherent cost ranking of the patterns. No project is assigned to the signature category merely to fill a three-pattern comparison.

**Selection and meaning of “major.”** This is a purposive sample of prominent ecosystem collections, not a claim that these were the three largest NFTs by volume. MegaETH advertised more than 80,000 eligible addresses for Fluffle's first 5,000 NFTs. One Gravity's issuer reported over 700 ETH launch-day turnover and a number-two OpenSea volume ranking. Anichess belongs to the Animoca Brands/Chess.com ecosystem, which reported 100,000 monthly active players before the NFT launch. These are attributable issuer statements, not independently audited audience or trading statistics. [MegaETH launch description](https://www.megaeth.com/thefluffle), [0G's distributed launch release, 18 March 2025](https://chainwire.org/2025/03/18/one-gravity-nfts-sell-out-in-60-seconds-as-first-digital-collectibles-on-0g-network/), [Animoca announcement, 21 January 2025](https://www.animocabrands.com/zh-hk/announcement/hong-kong-web3-game-anichess-records-over-100000-monthly-active-players-three-months-after-public-alpha-launch).

**Evidence labels:** **Observed** means recorded in the cited transaction/ABI; **reported** means stated by the project; **inference** identifies an interpretation; **unresolved** means the necessary evidence was not recovered. Explorer records are primary chain evidence presented through a third-party interface. Some pages were available through indexed extracts but returned 403 errors on direct retrieval. No archive-node replay or independent receipt verification was performed.

| Project and launch evidence | WL / free-claim treatment and contract pattern | Observed gas per NFT: one successful free claim each | Principal holder exposure |
| --- | --- | --- | --- |
| **MegaETH — The Fluffle**, February 2025; sampled mint 12 February | **Observed: Merkle proof.** Sample calls `mint(uint8,bytes32[])`, type 2, six proof elements, zero ETH value. ABI exposes separate guaranteed, whitelist and free-mint roots. Project describes guaranteed access followed by oversubscribed FCFS, with only some allocations free. [Launch](https://www.megaeth.com/thefluffle), [ABI](https://etherscan.io/token/0x4e502ab1bb313b3c1311eb0d11b31a6b62988b86?a=0x44c2a80f8b924858db469a5b35128908e55c531f) | **123,931 gas**, 1.2 gwei effective price; **0.0001487172 ETH** fee; one NFT, token 883. [Receipt M](https://etherscan.io/tx/0x3d50b93be50072e740107093c42b680b5abdb85cf00073a64d825c738679e66a) | Proof availability/root administration; FCFS does not reserve supply. Separately, the project explicitly describes the NFTs as soulbound, limiting exit or wallet migration. |
| **0G — One Gravity**, March 2025; sampled free mint 12 March, paid FCFS reported for 13 March | **Inference: onchain grant/list authorization**, exact mapping unverified. The free call supplies only quantity; administrator history shows GTD/FCFS list additions and GTD removal. A BeaconProxy routes execution. Do not label the entire launch free: issuer reports 0.1 ETH FCFS pricing. [Administration history](https://etherscan.io/txs?a=0xb44622b41c18f2d711db1b78dccbe67781d1a7ee), [Proxy](https://etherscan.io/token/0xf39c410dac956ba98004f411e182fb4eed595270), [Issuer release](https://chainwire.org/2025/03/18/one-gravity-nfts-sell-out-in-60-seconds-as-first-digital-collectibles-on-0g-network/) | **127,973 gas**, 2.57246398 gwei; **0.000329205932912540 ETH** fee; one NFT, token 960; zero ETH value and emitted price zero. [Receipt G](https://etherscan.io/tx/0x10a68cc4856fe51938d0472e2b9d19b74d7bbf70ec720e6b3d0e6dca2d22e88b/advanced) | Administrator omission/removal of eligibility; upgrade authority can change execution. Free and paid phases must be distinguished before submitting a transaction. |
| **Anichess — Ethernals**, July 2025; sampled claim 3 July | **Strong inference: Merkle-proof claim.** Observed `claim(bytes32,bytes32[],address)` supplies epoch `window1`, an 11-element proof and recipient; emits a reward claim and NFT mint. Project describes 960 Ethereum NFTs minted free by early players. Exact verifier and replay checks remain unresolved. [Project documentation](https://docs.anichess.com/anichess/ethernals-the-pfp-collection) | **125,714 gas**, 2.616010903 gwei; **0.000328869194659742 ETH** fee; one NFT, token 223; zero ETH value. [Receipt A](https://etherscan.io/tx/0x4a006404163059de5e971284ee4335190aef1e4aa82889ce21fd69d438c9b01c) | Dependence on the correct epoch/proof; recipient binding and repeat-claim prevention require code verification. These are review questions, not established vulnerabilities. |

**Contract identity matters.** Fluffle's Ethereum mint/NFT contract is `0x4e502ab1bb313b3c1311eb0d11b31a6b62988b86`; its ABI contains root setters, pause controls and a `hasMinted` getter. A claim-tracking mapping does not by itself make an allowlist mapping-based: authorization here accepts a Merkle proof. The ABI establishes the exposed interface but does not establish who controlled these functions at each historical block. [Verified contract interface](https://etherscan.io/token/0x4e502ab1bb313b3c1311eb0d11b31a6b62988b86?a=0x44c2a80f8b924858db469a5b35128908e55c531f).

One Gravity's NFT/proxy address is `0xf39c410dac956ba98004f411e182fb4eed595270`. Receipt G executes `purchase(uint256)` with quantity one. Together with explicit list-maintenance transactions, that supports stored eligibility rather than a claimant-supplied proof or authorization signature. It does **not** prove a particular Solidity mapping layout. The sampled trace delegates to an implementation displayed as `0xD82c4011…cE494d33E`, whereas the retrieved token page displays a different implementation. Administrator history records upgrades on 12 and 13 March. Reading only today's implementation would therefore be insufficient to prove launch behavior. [Receipt G](https://etherscan.io/tx/0x10a68cc4856fe51938d0472e2b9d19b74d7bbf70ec720e6b3d0e6dca2d22e88b/advanced), [Proxy record](https://etherscan.io/token/0xf39c410dac956ba98004f411e182fb4eed595270), [Upgrade history](https://etherscan.io/txs?a=0xb44622b41c18f2d711db1b78dccbe67781d1a7ee).

Anichess uses a separate claim contract, `0x163f88becdf706499023d4364fd9c4fe51a03283`; the NFT Transfer event is emitted by `0x473989bf6409d21f8a7fdd7133a40f9251cc1839`. The table's gas includes the complete transaction across that boundary. A bytes32 proof array is strong evidence of the Merkle pattern, but without verifier source it does not prove how the recipient or epoch is hashed. [Receipt A and event logs](https://etherscan.io/tx/0x4a006404163059de5e971284ee4335190aef1e4aa82889ce21fd69d438c9b01c).

**Gas measurement and comparison.** These are convenience samples of successful single-NFT transactions, not averages, minimums, launch-wide estimates or quotes for a future mint. Gas used is distinct from the gas limit. The fee calculation is `gas used × effective gas price in gwei × 10^-9 ETH`; mint consideration is additional. At an illustrative common price of 1 gwei, the three measured executions would cost 0.000123931, 0.000127973 and 0.000125714 ETH respectively. This normalizes price only, not differences in code, storage state, proof length or proxy calls. No dollar figures are given because explorer dollar displays may use a different ETH valuation from the mint date. [Ethereum gas documentation](https://ethereum.org/developers/docs/gas/).

The paid Fluffle WL sample illustrates why ETH fees should not be treated as a property of the authorization algorithm: it used **145,741 gas at 140 gwei**, or **0.02040374 ETH** in gas, and transferred **1 ETH** of mint consideration. Its proof has 14 elements. This is a separate transaction, not the cost of the free claim above, and it cannot isolate the causal effect of proof length. [Paid WL receipt](https://etherscan.io/tx/0x7c32994f33297abd80cabdf44b81eff39db4cdb1f89d604d69dc3603901856ef).

**Pattern-level risks — analysis, not allegations of exploits.**

1. **Merkle proof:** membership depends on the published root and correct leaf encoding. A missing proof service or unpublished tree can prevent an eligible holder from assembling a claim. Mutable roots introduce administrator dependence. Recipient/allocation binding and a consumed-claim check are necessary to prevent diversion or repeated claims; proof verification alone does not reserve supply. OpenZeppelin documents both membership verification and leaf-encoding pitfalls. These considerations apply to Fluffle and provisionally to Anichess; this research did not demonstrate an exploit in either. [OpenZeppelin MerkleProof reference](https://docs.openzeppelin.com/contracts/5.x/api/utils/cryptography#MerkleProof).
2. **Onchain grants/mappings:** the issuer pays to populate eligibility, while claimants can avoid carrying proofs. That shifts some costs outside the holder's mint receipt; it does not guarantee lower total gas. A missed entry, wrong quantity or administrator removal can defeat an offchain WL promise. One Gravity's list edits are observed evidence that eligibility administration existed; their legitimacy or impact on individual holders is not established. [List transaction history](https://etherscan.io/txs?a=0xb44622b41c18f2d711db1b78dccbe67781d1a7ee). Its upgradeable architecture adds a separate trust surface: beacon changes can change implementation for associated proxies. [OpenZeppelin beacon proxy documentation](https://docs.openzeppelin.com/contracts/5.x/api/proxy#beacon).
3. **Issuer signature:** no such mint authorization is established in this sample, so no measured signature-pattern mint cost is claimed. In this pattern, signer compromise can authorize unintended claims; signer/API outages or refusal can block legitimate ones. Signed data should bind recipient, quantity, price, expiry and domain, with nonce/digest consumption to prevent replay. EIP-712 supplies typed-data/domain structure but expressly does not supply replay protection itself. An ordinary wallet signature on an Ethereum transaction is not evidence of an issuer-signature allowlist. [EIP-712 specification and security considerations](https://eips.ethereum.org/EIPS/eip-712).

**Unanswered questions and limits.** A fully verified code comparison still requires the launch-block One Gravity implementation and storage checks, plus Anichess's claim verifier, epoch configuration and claim-consumption logic. Root-update histories and historical administrator ownership were not reconstructed. The records demonstrate successful free mints; they do not prove all advertised WL grants were honored. The March 12 free transaction and March 13 paid release describe different One Gravity phases, not evidence that either source's price applies universally. No 2026 launch was added merely to span both calendar years. No claim of representative gas distributions, comprehensive market coverage, or independent security assurance is made.
