Contract Analysis
DISCLAIMER // NFA // DYOR
This analysis is based on observations of the contract behavior. We are not smart contract security experts. This document aims to explain what the contract appears to do based on the code. It should not be considered a comprehensive security audit or financial advice. Always verify critical information independently and consult with blockchain security professionals for important decisions.
โ generated by robots | curated by humans
Analysis Date: 2026-02-04
Metadata
Primary Contract
| PROPERTY | VALUE |
|---|---|
| Contract Address | 0x41b242c36F7dc5f18be21c1a6B7b5e05b2FD6532 (etherscan) |
| Network | Ethereum Mainnet |
| Contract Type | Standalone ERC-20 Token |
| Deployment Date | 2025-11-12 10:28:11 UTC |
| Deployment Block | 23,784,335 |
| Contract Creator | 0x1fbaEd378Edf655726C3C2f5ebbD0363043838A6 (etherscan) |
| Creation TX | 0x556a4525ffc51c7edeb73d264cd5c0b0cbc0d6d7bf8cbffac21097f8440a80af (etherscan) |
| Compiler Version | Solidity 0.8.30 (Cancun EVM) |
| Total Functions | 35+ public/external functions |
| External Contract Dependencies | None (OpenZeppelin libraries only) |
| Upgrade Mechanism | โ None - Not Upgradable |
| Verification Status | โ Verified (Exact Match) on Etherscan |
| Audit Status | โ No public audit report identified - Automated CertiK Token Scan available |
Related Addresses
| TYPE | ADDRESS | NOTES |
|---|---|---|
| Owner/Admin | 0x0000000000000000000000000000000000000000 (etherscan) |
Ownership renounced - contract is ownerless |
| Token Name | ZeroMoon | Symbol: zETH |
| Original Owner | 0x1fbaEd378Edf655726C3C2f5ebbD0363043838A6 (etherscan) |
Deployer (renounced ownership post-deployment) |
Executive Summary
The ZeroMoon (zETH) contract is an ETH-backed ERC-20 token deployed November 12, 2025, implementing a dividend distribution system where holders earn passive rewards from transaction fees. The contract features direct purchase and refund mechanisms, allowing users to buy tokens with ETH and sell them back to the contract at a calculated backing value (99.9% effective backing ratio).
The token implements a deflationary burn mechanism capped at 20% of total supply (250M tokens), after which burn fees redirect to reserve accumulation. Ownership has been renounced, making the contract immutable with no admin control over core mechanics. The contract excludes smart contracts from dividend distribution to prevent gaming by DEX pools and other protocols.
Key mechanisms:
- Direct ETH purchase at dynamic pricing (base 0.0001 ETH per token, then refund price + 0.1%)
- ETH refund at 99.9% backing value with minimum 1 token threshold
- Dividend distribution from reflection fees (EOA holders only)
- Deflationary burning up to 20% cap
- Fee structure: 0.05-0.15% per transaction depending on type
- ReentrancyGuard protection on all ETH transfers
Significant trust assumptions:
- Contract is immutable (ownership renounced) - no ability to fix bugs or adjust parameters
- Dev address receives fees but cannot be changed post-renouncement
- Dividend system depends on correct contract detection to exclude protocols
- Refund pricing assumes honest market participation (no MEV/manipulation protections)
Notable risks:
- Immutability means no recovery mechanism for edge cases or discovered issues
- Complex dividend calculation could have precision loss in extreme scenarios
- Contract detection heuristics may misclassify some addresses
- No circuit breakers or pause functionality
Architecture
graph TB
User[User/EOA]
Contract[ZeroMoon Contract<br/>1.25B Total Supply]
DevAddr[Dev Address<br/>Fee Recipient]
DEX[DEX Liquidity Pool]
User -->|"buy() / receive()"| Contract
Contract -->|"zETH Tokens"| User
User -->|"transfer to contract"| Contract
Contract -->|"ETH Refund"| User
User <-->|"swap"| DEX
DEX -->|"swap fees"| Contract
Contract -->|"Dev Fees (5-10 BPS)"| DevAddr
Contract -->|"Reflection Fees"| Contract
Contract -.->|"Dividends"| User
Contract -->|"Reserve Fees"| Contract
Contract -->|"Burn (up to 20%)"| Burn[๐ฅ Burn Address]
style Contract fill:#e1f5ff
style DevAddr fill:#ffe1e1
style Burn fill:#f5f5f5
style User fill:#e1ffe1
System Overview
The ZeroMoon contract operates as a self-contained token system with internal liquidity. Users interact primarily through three pathways:
- Direct Purchase: ETH sent to the contract (via
buy()orreceive()) mints tokens from internal supply at dynamic pricing - Direct Refund: Tokens sent to the contract trigger automatic ETH refunds at calculated backing value
- Trading: Standard ERC-20 transfers and DEX swaps with configurable fee structures
The contract maintains its own ETH reserve, using incoming purchase ETH to back the circulating token supply. The backing ratio is 99.9% for refunds, creating a 0.1% spread that accumulates in reserves. This mechanism provides liquidity without requiring external AMM seeding.
- โ The contract holds all unsold tokens and ETH reserves internally
- โ Dividend system redistributes reflection fees proportionally to EOA holders
- โ Burn mechanism is capped and irreversible (no reminting)
- โ No external price oracle or liquidity requirements
- โ No governance or parameter adjustment post-renouncement
Design Patterns Used
The contract employs several battle-tested OpenZeppelin patterns alongside custom mechanics:
- ReentrancyGuard: All functions involving ETH transfers (buy, refund, claimDividends) are protected with
nonReentrantmodifier to prevent reentrancy attacks - Ownable2Step: Two-step ownership transfer pattern (unused post-renouncement but inherited)
- ERC20Permit: EIP-2612 gasless approval via signatures (EIP-712 domain separator)
- Magnified Dividends: Uses 2^128 magnitude for precise dividend-per-share calculations without rounding errors
- Dynamic Pricing: Token price adjusts based on current backing ratio plus 0.1% markup
- Automatic Contract Detection: Multi-signature interface checks to exclude contracts from dividends
Access Control
Roles & Permissions
| ROLE | ASSIGNED BY | REVOKABLE | CALL COUNT |
|---|---|---|---|
| Owner | Constructor (renounced) | Yes (renounced to 0x00) | None (renounced) |
| Dev Address | Constructor | Yes (requires owner, now impossible) | Unlimited (receives fees automatically) |
| Users | N/A | N/A | Unlimited |
Permission Matrix
| FUNCTION | OWNER | DEV ADDRESS | USER | ANYONE |
|---|---|---|---|---|
| buy() | โ | โ | โ | โ |
| refund (transfer to contract) | โ | โ | โ | โ |
| claimDividends() | โ | โ | โ | โ |
| transfer() | โ | โ | โ | โ |
| setDevAddress() | โ (renounced) | โ | โ | โ |
| excludeFromFee() | โ (renounced) | โ | โ | โ |
| transferOwnership() | โ (renounced) | โ | โ | โ |
| renounceOwnership() | โ (already done) | โ | โ | โ |
Time Locks & Delays
| ACTION | TIME LOCK | CAN CANCEL | PURPOSE |
|---|---|---|---|
| Ownership Transfer | Yes - Ownable2Step (requires acceptOwnership) | Yes | โ Prevents accidental ownership transfer (N/A post-renouncement) |
| Parameter Changes | None | N/A | โ Immutable - no parameter adjustment possible |
| Dev Address Change | None (requires owner) | N/A | โ Instant if owner existed (now impossible) |
Economic Model
Purchase Flow
flowchart TD
Start[User Sends ETH] --> Check1{">= 0.0001 ETH?"}
Check1 -->|No| Revert1[Revert: InsufficientNative]
Check1 -->|Yes| CalcPrice[Calculate Token Price<br/>base: 0.0001 ETH<br/>or refund price + 0.1%]
CalcPrice --> CalcTokens[Calculate Tokens<br/>= ETH รท Price]
CalcTokens --> Check2{Enough Supply?}
Check2 -->|No| Revert2[Revert: InsufficientBalance]
Check2 -->|Yes| CalcFees[Calculate Fees<br/>Dev: 0.05%<br/>Reserve: 0.10%<br/>Reflection: 0.10%]
CalcFees --> Distribute[Distribute Dividends<br/>Update magnifiedDividendPerShare]
Distribute --> MarkUser[Mark Buyer as Current<br/>Prevent Self-Dividend]
MarkUser --> SendDev[Send Dev Fee to DevAddr]
SendDev --> SendUser[Send Net Tokens to User]
SendUser --> EmitBuy[Emit Buy Event]
EmitBuy --> End[Complete]
style Start fill:#e1ffe1
style End fill:#e1ffe1
style Revert1 fill:#ffe1e1
style Revert2 fill:#ffe1e1
style Distribute fill:#fff4e1
Refund Flow
flowchart TD
Start[User Transfers Tokens to Contract] --> Check1{">= 1 Token?"}
Check1 -->|No| Revert1[Revert: InsufficientBalance]
Check1 -->|Yes| CalcFees[Calculate Fees<br/>Dev: 0.05%<br/>Reflection: 0.05%<br/>Burn: 0.075% or 0<br/>Reserve: 0.075% or 0.15%]
CalcFees --> NetTokens[Net Tokens After Fees]
NetTokens --> CalcBacking[Calculate Backing<br/>effectiveBacking = ETH ร 99.9%]
CalcBacking --> CalcETH[ETH = NetTokens ร effectiveBacking รท circulatingSupply]
CalcETH --> Check2{Enough ETH?}
Check2 -->|No| Revert2[Revert: InsufficientNative]
Check2 -->|Yes| SendDev[Send Dev Fee to DevAddr]
SendDev --> CheckBurn{totalBurned < 20%?}
CheckBurn -->|Yes| BurnTokens[Burn Tokens<br/>Up to Remaining Cap]
CheckBurn -->|No| SkipBurn[Skip Burn<br/>Double Reserve Fee]
BurnTokens --> DistDiv[Distribute Reflection Dividends]
SkipBurn --> DistDiv
DistDiv --> SendETH[Send ETH to User]
SendETH --> Check3{Transfer Success?}
Check3 -->|No| Revert3[Revert: NativeTransferFailed]
Check3 -->|Yes| EmitRefund[Emit Refund Event]
EmitRefund --> End[Complete]
style Start fill:#e1ffe1
style End fill:#e1ffe1
style Revert1 fill:#ffe1e1
style Revert2 fill:#ffe1e1
style Revert3 fill:#ffe1e1
style BurnTokens fill:#f5f5f5
style DistDiv fill:#fff4e1
Fee Structure
| TRANSACTION TYPE | DEV FEE | REFLECTION FEE | RESERVE FEE | BURN FEE | TOTAL |
|---|---|---|---|---|---|
| Buy | 0.05% | 0.10% | 0.10% | โ | 0.25% |
| Refund (pre-cap) | 0.05% | 0.05% | 0.075% | 0.075% | 0.25% |
| Refund (post-cap) | 0.05% | 0.05% | 0.15% | โ | 0.25% |
| Transfer | 0.05% | 0.10% | 0.10% | โ | 0.25% |
| DEX Swap | 0% | 0% | 0% | โ | 0% |
| Fee-Exempt | 0% | 0% | 0% | โ | 0% |
Fee Recipients:
- Dev Fee: Sent to
devAddress(currently immutable post-renouncement) - Reflection Fee: Distributed as dividends to all EOA holders proportionally
- Reserve Fee: Remains in contract to strengthen backing ratio
- Burn Fee: Tokens permanently destroyed until 20% cap reached (250M tokens)
Funding Sources & Sinks
Inflows (How ETH Enters):
- Direct token purchases via
buy()orreceive()functions - Initial deployment can include ETH (constructor is payable)
Outflows (How ETH Leaves):
- Refunds when users send tokens back to contract
- Dev fees sent to
devAddresson every taxed transaction - Dividend claims when users call
claimDividends()
Economic Invariants
The contract maintains several economic relationships:
- Backing Ratio: Total ETH in contract should approximate (circulatingSupply ร averagePrice ร 0.999) over time
- Burn Cap:
totalBurned <= BURNING_LIMIT(250M tokens maximum) - Supply Relationship:
totalSupply() = TOTAL_SUPPLY - totalBurned - Circulating Supply:
circulatingSupply = totalSupply() - balanceOf(contract) - Dividend Conservation: Sum of all unclaimed dividends + distributed dividends = totalDividendsDistributed
Summary of Observations
The ZeroMoon (zETH) contract implements an ETH-backed token with passive dividend distribution for holders. The core mechanism allows users to purchase tokens directly from the contract at dynamic pricing and refund them at 99.9% of backing value, creating a self-sustaining liquidity system without requiring external AMM pools.
Key Strengths:
- โ Ownership renounced ensures immutability and prevents rug pulls
- โ ReentrancyGuard protects all ETH transfer functions
- โ Verified source code using OpenZeppelin battle-tested contracts
- โ Automatic contract exclusion prevents dividend gaming by protocols
- โ Deflationary burn capped at 20% prevents excessive supply reduction
- โ Minimum thresholds (0.0001 ETH buy, 1 token refund) prevent dust attacks
- โ Precise dividend calculations using 2^128 magnitude
- โ No external dependencies or oracle manipulation vectors
Significant Mechanisms:
The dividend system uses a magnified shares approach where each holder earns proportionally to their balance. When reflection fees are collected, they increase magnifiedDividendPerShare, and users claim accumulated dividends at their convenience. Contracts are automatically excluded to prevent DEX pools from earning dividends on their liquidity.
The refund mechanism calculates ETH return based on current circulating supply and contract balance, applying a 99.9% effective backing ratio. This 0.1% gap between purchase and refund price accumulates in reserves, strengthening backing over time.
Economic Observations:
As of the analysis date (84 days post-deployment), approximately 3.46M tokens have been sold from the 1.25B total supply (0.28% circulation), with 530K tokens burned (0.042% of supply). The contract holds 0.277 ETH backing the circulating tokens. The low circulation suggests either early-stage adoption or significant refund activity.
Concerns & Limitations:
- โณ Immutability means no bug fixes or parameter adjustments possible
- โณ Contract detection heuristics may misclassify some addresses
- โณ Complex dividend math could have edge cases in extreme scenarios
- โณ No pause or emergency mechanisms for discovered issues
- โณ Refund pricing vulnerable to MEV extraction in theory
- โณ Dev address is immutable post-renouncement (cannot update if compromised)
The contract appears designed for long-term operation with no admin intervention. Source code comments reference testing claims ("160M+ fuzz cases, 200M+ invariant calls") which we did not independently verify. An automated CertiK Token Scan is available, but no public manual audit report was identified during this analysis. The economic model depends on balanced buy/refund activity to maintain backing ratio.
This analysis was performed for educational purposes and should not be considered an official security audit or financial advice. The immutable nature of this contract means identified issues cannot be corrected. Potential users should independently verify all claims and understand the risks of interacting with immutable smart contracts.
References
| RESOURCE | NOTES |
|---|---|
| Etherscan Contract Page | Verified source code, transaction history, and on-chain data |
| OpenZeppelin Contracts v4.9.3 | Reference documentation for inherited contracts (ERC20, ReentrancyGuard, Ownable2Step) |
| EIP-2612 (Permit) | Gasless approval specification implemented via ERC20Permit |
| EIP-712 (Typed Data) | Structured data hashing for permit signatures |
Change Log
| DATE | AUTHOR | NOTES |
|---|---|---|
| 2026-02-04 | Artificial. | Generated by robots. Gas: 75 tok |
| 2026-02-05 | Denizen. | Reviewed, edited, and curated by humans. |
| 2026-02-06 | Artificial. | Revised audit/security language in potential-risks.md and contract-analysis.md. Replaced presumptive "no audit" claims with verifiable observations. Added publicly available security resources (GitHub test suite, Certora specs, CertiK Token Scan). Gas: 12 tok |