Skip to content

kilboa/memer

Repository files navigation

MEMER ($MEMER) on Base

A philanthropic utility token on Base L2 with a deliberately overbuilt smart contract architecture:

  • Phase 1 focuses on trust, security, and market stability (locked liquidity, vesting, USD‑based tiered trading, multisig + timelock).
  • Phase 2 introduces a human‑verified on‑chain philanthropy DAO, charity registry, and controlled donation conversion pipeline.

This README is aimed at developers, auditors, and power users who want to understand how the MEMER ecosystem is engineered.


Quick Links

Most of the narrative, design, and user‑oriented explanations live on memer.world. This repository documents the on‑chain architecture and how the pieces fit together.


Project Overview

MEMER is a philanthropic utility token on Base that combines:

  • Community energy and culture.
  • A serious, multi‑contract security architecture (multisig + timelock, vesting, LP locking, tiered trading).
  • A roadmap toward human‑verified, impact‑focused on‑chain philanthropy.

High‑level concepts:

  • Trust first: Locked liquidity, vesting, and strong operational controls from day one.
  • Stability before speculation: A USD‑based tier system and anti‑abuse logic aimed at smoothing volatility and deterring bots.
  • On‑chain philanthropy: A charity DAO that uses human verification, reputational voting power, and verified charities to route matching funds.

For philosophy, roadmap visuals, and interactive tokenomics, see the main site at https://www.memer.world.


High‑Level Architecture

At a high level, the MEMER ecosystem is split into two phases.

Phase 1 – Core Token & Market Protections

Deployment MultiSig (2-of-4)
          │
          ▼
MultiSigTimelockController (owner of core contracts)
          │
          ├─ MemerCore (ERC20 token, pause, blacklist)
          ├─ MemerController (transfer rules, fees, DEX routing)
          ├─ MemerFeatures (feature toggles, whitelists, airdrops)
          ├─ MemerUSDTierManager (USD-based wallet tiers & limits)
          └─ LPTokenLocker (locks Uniswap V3 NFT + Aerodrome LP)

Key properties:

  • Ownership of all core contracts sits in a MultiSigTimelockController, not an EOA.

  • The Deployment MultiSig is 2‑of‑4 and is the only multisig that interacts with the timelock for core operations.

  • All sensitive actions (pause, upgrades, blacklist, parameter changes, LP unlocks) go through:

    2-of-4 multisig → 24-hour timelock → 2-of-4 multisig execution
    

Phase 2 – On‑Chain Philanthropy & DAO

GitcoinPassportVerifier (IHumanVerifier)
          │
          ▼
MemerCharityDAOCore (voting power, donations, registry integration)
   │          │           │
   │          │           ├─ CharityRegistry (verification, categories, ratings)
   │          │
   │          ├─ MemerCharityDAOGovernanceSimplified (proposals & voting)
   │          └─ MemerCharityDAOExtended (reporting, analytics, UI view helpers)
   │
   └─ MemerCharityVault (donation matching & allocation)
              │
              └─ CharityConversionPool (MEMER → stable over time for charities)

Phase 2 is designed to come online only if $MEMER gains traction, and will govern charity allocations only, not core token operations.


Core Components (Phase 1)

MemerCore

MemerCore is the main ERC‑20 token contract. It:

  • Implements a standard token with burn, permit, and vote extensions.
  • Routes transfer validation through MemerController / MemerFeatures for tier logic and fees.
  • Includes Pausable and blacklist capabilities, which are only invocable by the timelock.
  • Does not implement minting beyond the fixed 1B initial supply.

Core design choice: keep the token itself non‑upgradeable and as simple as possible, while placing complex behavior in upgradeable controller/feature contracts.

MemerController & MemerFeatures

These two contracts work together to manage the behavior of transfers:

  • MemerController

    • Validates transfers according to wallet tiers and trading rules.
    • Applies sell‑side charity fees if ever enabled (currently 0% and disabled).
    • Knows about DEX addresses and MEMER's own ecosystem exemptions.
  • MemerFeatures

    • Manages feature flags (e.g., whether charity fee logic is on/off).
    • Handles whitelists, airdrops, and token distribution tooling.
    • Exposes configuration knobs that governance can tweak via the timelock.

Both are deployed as upgradeable proxies to allow bug fixes and improvements, but are controlled exclusively by the MultiSigTimelockController.

MemerUSDTierManager

MemerUSDTierManager implements a USD‑based wallet tier system that aims to:

  • Smooth volatility by limiting how much a new wallet can trade per day.
  • Make bot and whale attacks harder, especially at launch.
  • Encourage longer‑term holding and organic growth.

Key ideas:

  • Wallets are assigned to tiers based on:
    • Effective MEMER/USD value (via price feeds and pool state).
    • Holding duration.
    • Balance over time.
  • Each tier has different daily trading limits and rules.
  • There are protections against burst behavior and basic flash‑loan style abuse.

The controller consults MemerUSDTierManager on every transfer to determine whether a trade is allowed.

MultiSigTimelockController & Deployment MultiSig

The MultiSigTimelockController is the on‑chain owner of all core contracts. It:

  • Enforces a minimum delay (e.g., 24 hours) on all sensitive operations.
  • Stores and emits CallScheduled and CallExecuted events for full transparency.
  • Requires that executors hold specific roles; in practice this means only the Deployment MultiSig can execute.

The Deployment MultiSig is a 2‑of‑4 wallet:

  • 4 independent signers; any 2 must approve.
  • Only this multisig holds PROPOSER and EXECUTOR roles on the timelock for core operations.
  • No other multisigs (treasury, marketing, etc.) can alter the core security properties.

Full details of the governance model, including scanner flag interpretations, live in SECURITY.md.

Liquidity Locking & Vesting (Summary)

  • Initial liquidity: 400,000,000 MEMER (40% of supply) provided to:
    • Uniswap V3 (320M MEMER) → LP NFT.
    • Aerodrome (80M MEMER) → ERC‑20 LP tokens.
  • All of this LP is locked in LPTokenLocker with a two‑step unlock roughly at months 5 and 6 after deployment.
  • Founding team and early contributors use a 4/5/6 month 3‑tranche vesting model implemented in MemerVesting.

Exact percentages, dates, and verification methods are documented in SECURITY.md and surfaced in the MEMER app.


On‑Chain Philanthropy Stack (Phase 2)

Phase 2 is not required for the token to function, but is central to MEMER's long‑term vision: on‑chain mutual aid with human‑verified governance.

Human Verification (GitcoinPassportVerifier)

GitcoinPassportVerifier integrates Gitcoin Passport into MEMER's contracts by implementing IHumanVerifier:

  • Uses a Gitcoin resolver to submit passports and retrieve scores.
  • Stores whether a given address has passed a minimum Passport score.
  • Exposes isHumanVerified(address) for other contracts.

This allows MEMER governance to:

  • Treat "verified human" as a first‑class primitive.
  • Make voting rights conditional on human verification, not just wallet creation.

MemerCharityDAOCore – Voting Power & Charity Execution

MemerCharityDAOCore is the backbone of the charity system. It:

  • Tracks wallet holdings for MEMER (balance, acquisition time, total acquired/sold).
  • Uses VotingPowerLibrary to compute a multi‑factor voting power per address:
    • Token balance.
    • Holding duration (loyalty bonus).
    • Human verification signal.
    • Protection against flash‑loan spikes.
  • Maintains references to:
    • IHumanVerifier (Gitcoin‑based human verification).
    • CharityRegistry (which charities are approved).
    • MultiSigTimelockController (for admin/governance).
  • Executes actual charity donations in MEMER to verified charities, and records them.

This contract does not control core token operations; instead, it manages the philanthropy pool and voting power for the charity DAO.

MemerCharityDAOGovernanceSimplified – Proposals & Voting

MemerCharityDAOGovernanceSimplified focuses purely on governance for charity allocations:

  • Only human‑verified addresses (via IHumanVerifier) can:
    • Create charity proposals.
    • Vote on proposals.
  • Proposals encode:
    • Charity address.
    • Donation amount.
    • Charity name.
    • Short description.
    • IPFS hash for the full proposal text.
  • Each proposal has:
    • A 7‑day voting period.
    • A quorum requirement (e.g., 51% of total recorded voting power must participate).
    • A simple majority rule (more "for" than "against").

If a proposal passes:

  • Governance calls back into MemerCharityDAOCore to execute the donation.
  • The executed donation is recorded for analytics and accountability.

MemerCharityDAOExtended – Data & Analytics Layer

MemerCharityDAOExtended is a companion contract that makes governance observable and UI‑friendly:

  • Caches key data for each proposal (charity, amount, IPFS hash, status).
  • Tracks participation metrics (total votes, breakdown of for/against/abstain).
  • Maintains donation histories per charity, with amounts and timestamps.
  • Offers helper functions to:
    • Retrieve charity statistics.
    • Retrieve proposal participation stats.
    • Expose cached voting power distributions for dashboards.

This is particularly aimed at powering the MEMER app and dashboards without forcing heavy on‑chain iteration each time.

CharityRegistry – Verified Charities & Ratings

CharityRegistry maintains the universe of eligible charities:

  • Approves charities with:
    • An IPFS verification hash (e.g., documents, proofs).
    • A category (health, education, emergency relief, etc.).
    • An initial rating.
  • Tracks:
    • Whether a charity is currently approved.
    • Total donations received.
    • Donation history.
    • Category membership and ratings.

This ensures the DAO is always choosing among explicitly verified entities.

MemerCharityVault & CharityConversionPool – Donations Without Nuking the Chart

Two additional contracts ensure donations are operationally sane:

  • MemerCharityVault

    • Records off‑chain donations and matching logic via on‑chain records.
    • Allocates MEMER to approved charities subject to safety caps.
    • Tracks processed vs. allocated amounts.
  • CharityConversionPool

    • Converts MEMER to stablecoins for charities over time, not in a single dump.
    • Uses:
      • Time‑bounded conversion windows (min/max period).
      • Daily conversion caps (max % of the scheduled MEMER per day).
    • Aims to minimize market impact while still delivering stable value to charities.

Together, these contracts align the goals of charities, holders, and market stability.


Tokenomics (Technical Summary)

Total supply: 1,000,000,000 MEMER.

High‑level allocation:

Bucket Percentage Amount (MEMER) Notes
Initial DEX Liquidity 40% 400,000,000 320M Uniswap V3, 80M Aerodrome, all locked in LP locker
Charity Wallet 25% 250,000,000 Dedicated matching funds for on‑chain philanthropy
Treasury 15% 150,000,000 Future DEX mgmt, ops, and strategic reserves
Founding Team 10% 100,000,000 4/5/6‑month vesting via MemerVesting
Early Contributors 5% 50,000,000 For sweat‑equity contributors
Marketing & Community Rewards 5% 50,000,000 Marketing + ongoing community incentives

For a visual, interactive breakdown and narrative explanation, see the Tokenomics section on https://www.memer.world.


Contributing & Early Contributors

MEMER welcomes good‑faith community participation in:

  • Security review and responsible disclosure of issues.
  • Frontend and data visualization for the MEMER app.
  • Design, branding, and educational storytelling.
  • Community building and mutual aid initiatives.

Instead of a rigid bug bounty program, MEMER:

  • Maintains a dedicated 5% early contributor allocation (50M MEMER).
  • Intends to recognize impactful early work across security, design, engineering, and community roles.

If you would like to contribute:

Please avoid public disclosure of any security‑sensitive findings before contacting the team.


🙏 Acknowledgments

The smart contracts and deployment patterns in this repository owe a substantial debt to Patrick Collins and the Cyfrin / Updraft curriculum:

https://www.cyfrin.io/updraft

Everything learned about Solidity, testing, and secure upgradeable architectures started with those courses. MEMER applies those practices in a real, production‑oriented ecosystem.

Built with ❤️ by the MEMER community.

Special thanks to:

  • OpenZeppelin – Secure, battle‑tested contract implementations.
  • Safe – Multisignature wallet patterns (MultiSigWallet reference: https://github.com/gnosis/MultiSigWallet).
  • Foundry – Development and testing toolkit.
  • Base – L2 infrastructure powering MEMER.
  • Gitcoin – Human verification via Gitcoin Passport (integrated in Phase 2).
  • The Security Community – For keeping crypto safer and pushing projects toward transparency.

License

The licensing terms for this repository may be specified in a separate LICENSE file. If no such file is present, please reach out to contact@memer.world for clarification before reusing or forking substantial portions of the code.


Related Documents

  • SECURITY.md – Detailed security model, scanner flag explanations, governance safeguards, liquidity locking, and vesting.
  • Websitehttps://www.memer.world (philosophy, roadmap, tokenomics, design system, and app entry point).

Transparency builds trust. Trust builds community. Community enables on‑chain mutual aid.

About

MEMER 么么儿 is a utility coin built on philanthropy and giving as its sustaining utility, deployed on the low-cost Base L2 network for accessible community participation.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors