Contract Addresses
This page contains all deployed contract addresses for MemeTrade across supported networks. Use these addresses to interact with the platform programmatically.
Base Sepolia (Testnet)
Chain ID: 84532 Status: ✅ Active Block Explorer: Base Sepolia Scan
Core Platform Contracts
Factory: 0x[SEPOLIA_FACTORY_ADDRESS]
Governance: 0x[SEPOLIA_GOVERNANCE_ADDRESS]
$MEME Token (OFT): 0x[SEPOLIA_MEME_TOKEN_ADDRESS]
Template Module: 0x[SEPOLIA_TEMPLATE_MODULE_ADDRESS]
Economic Module: 0x[SEPOLIA_ECONOMIC_MODULE_ADDRESS]
Moderation Contract: 0x[SEPOLIA_MODERATION_ADDRESS]
Template Contracts
Viral Template: 0x[SEPOLIA_VIRAL_TEMPLATE_ADDRESS]
Standard Template: 0x[SEPOLIA_STANDARD_TEMPLATE_ADDRESS]
Custom Template: 0x[SEPOLIA_CUSTOM_TEMPLATE_ADDRESS]
Liquidity Mining
Liquidity Helper: 0x[SEPOLIA_LIQUIDITY_HELPER_ADDRESS]
Rewards Distributor: 0x[SEPOLIA_REWARDS_DISTRIBUTOR_ADDRESS]
Mining Pool Manager: 0x[SEPOLIA_POOL_MANAGER_ADDRESS]
Uniswap V4 Integration
Pool Manager: 0x[SEPOLIA_UNISWAP_POOL_MANAGER]
Hook Implementation: 0x[SEPOLIA_MEMETRADE_HOOK_ADDRESS]
Position Manager: 0x[SEPOLIA_POSITION_MANAGER_ADDRESS]
LayerZero Integration
LayerZero Endpoint: 0x6EDCE65403992e310A62460808c4b910D972f10f
OFT Adapter: 0x[SEPOLIA_OFT_ADAPTER_ADDRESS]
Proxy Contracts
Factory Proxy: 0x[SEPOLIA_FACTORY_PROXY_ADDRESS]
Governance Proxy: 0x[SEPOLIA_GOVERNANCE_PROXY_ADDRESS]
$MEME Proxy: 0x[SEPOLIA_MEME_PROXY_ADDRESS]
Base Mainnet
Chain ID: 8453 Status: 🔄 Coming Soon Block Explorer: BaseScan
Core Platform Contracts
Factory: 0x[MAINNET_FACTORY_ADDRESS]
Governance: 0x[MAINNET_GOVERNANCE_ADDRESS]
$MEME Token (OFT): 0x[MAINNET_MEME_TOKEN_ADDRESS]
Template Module: 0x[MAINNET_TEMPLATE_MODULE_ADDRESS]
Economic Module: 0x[MAINNET_ECONOMIC_MODULE_ADDRESS]
Moderation Contract: 0x[MAINNET_MODERATION_ADDRESS]
Template Contracts
Viral Template: 0x[MAINNET_VIRAL_TEMPLATE_ADDRESS]
Standard Template: 0x[MAINNET_STANDARD_TEMPLATE_ADDRESS]
Custom Template: 0x[MAINNET_CUSTOM_TEMPLATE_ADDRESS]
Liquidity Mining
Liquidity Helper: 0x[MAINNET_LIQUIDITY_HELPER_ADDRESS]
Rewards Distributor: 0x[MAINNET_REWARDS_DISTRIBUTOR_ADDRESS]
Mining Pool Manager: 0x[MAINNET_POOL_MANAGER_ADDRESS]
Uniswap V4 Integration
Pool Manager: 0x[MAINNET_UNISWAP_POOL_MANAGER]
Hook Implementation: 0x[MAINNET_MEMETRADE_HOOK_ADDRESS]
Position Manager: 0x[MAINNET_POSITION_MANAGER_ADDRESS]
LayerZero Integration
LayerZero Endpoint: 0x1a44076050125825900e736c501f859c50fE728c
OFT Adapter: 0x[MAINNET_OFT_ADAPTER_ADDRESS]
Proxy Contracts
Factory Proxy: 0x[MAINNET_FACTORY_PROXY_ADDRESS]
Governance Proxy: 0x[MAINNET_GOVERNANCE_PROXY_ADDRESS]
$MEME Proxy: 0x[MAINNET_MEME_PROXY_ADDRESS]
Contract Interfaces
Factory Contract
Primary Functions:
function createToken(
uint256 templateId,
TokenParams memory params,
bytes memory extraData
) external returns (address tokenAddress);
function getTemplate(uint256 templateId) external view returns (address);
function isValidToken(address token) external view returns (bool);
function getTokenCount() external view returns (uint256);
$MEME Token (OFT)
Key Functions:
// Standard ERC-20
function transfer(address to, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
// LayerZero OFT
function sendFrom(
address _from,
uint16 _dstChainId,
bytes calldata _toAddress,
uint256 _amount,
address payable _refundAddress,
address _zroPaymentAddress,
bytes calldata _adapterParams
) external payable;
Governance Contract
Core Functions:
function propose(
address[] memory targets,
uint256[] memory values,
bytes[] memory calldatas,
string memory description
) external returns (uint256 proposalId);
function vote(uint256 proposalId, uint8 support) external;
function execute(uint256 proposalId) external;
Network-Specific Information
Base Sepolia
Getting Testnet ETH:
RPC Configuration:
const config = {
chainId: 84532,
name: "Base Sepolia",
rpcUrl: "https://sepolia.base.org",
blockExplorer: "https://sepolia.basescan.org",
};
Base Mainnet
RPC Configuration:
const config = {
chainId: 8453,
name: "Base",
rpcUrl: "https://mainnet.base.org",
blockExplorer: "https://basescan.org",
};
SDK Integration
JavaScript/TypeScript
import { MemeTrade } from "@memetrade/sdk";
const memetrade = new MemeTrade({
chainId: 84532, // Base Sepolia
factoryAddress: "0x[SEPOLIA_FACTORY_ADDRESS]",
provider: window.ethereum,
});
// Create a new token
const tokenAddress = await memetrade.createToken({
name: "My Meme Token",
symbol: "MMT",
totalSupply: "1000000",
initialPrice: "0.001",
});
Wagmi Configuration
import { createConfig } from "wagmi";
import { base, baseSepolia } from "viem/chains";
const contracts = {
factory: {
address: "0x[FACTORY_ADDRESS]",
abi: FactoryABI,
},
memeToken: {
address: "0x[MEME_TOKEN_ADDRESS]",
abi: OFTABI,
},
} as const;
const config = createConfig({
chains: [base, baseSepolia],
contracts,
});
Verification
All contracts are verified on their respective block explorers. You can view source code and interact with contracts directly through:
Base Sepolia:
Base Mainnet:
Security Considerations
Multi-Signature Wallets
Owner Addresses:
Sepolia Owner: 0x[SEPOLIA_MULTISIG_ADDRESS]
Mainnet Owner: 0x[MAINNET_MULTISIG_ADDRESS]
Treasury: 0x[TREASURY_MULTISIG_ADDRESS]
Emergency: 0x[EMERGENCY_MULTISIG_ADDRESS]
Timelock Controllers:
Sepolia Timelock: 0x[SEPOLIA_TIMELOCK_ADDRESS]
Mainnet Timelock: 0x[MAINNET_TIMELOCK_ADDRESS]
Access Control
Role-Based Permissions:
DEFAULT_ADMIN_ROLE: 0x0000000000000000000000000000000000000000000000000000000000000000
FACTORY_ADMIN_ROLE: 0x[FACTORY_ADMIN_ROLE_HASH]
TEMPLATE_ADMIN_ROLE: 0x[TEMPLATE_ADMIN_ROLE_HASH]
MODERATOR_ROLE: 0x[MODERATOR_ROLE_HASH]
Contract ABIs
All contract ABIs are available in our GitHub repository:
Repository: github.com/memetrade/contracts
ABI Files:
Deployment Information
Base Sepolia Deployment
Deployment Date: [SEPOLIA_DEPLOYMENT_DATE]
Deployer Address: 0x[SEPOLIA_DEPLOYER_ADDRESS]
Deployment Transaction: View on BaseScan
Git Commit: [SEPOLIA_GIT_COMMIT_HASH]
Foundry Version: [FOUNDRY_VERSION]
Base Mainnet Deployment
Deployment Date: [MAINNET_DEPLOYMENT_DATE]
Deployer Address: 0x[MAINNET_DEPLOYER_ADDRESS]
Deployment Transaction: View on BaseScan
Git Commit: [MAINNET_GIT_COMMIT_HASH]
Foundry Version: [FOUNDRY_VERSION]
Emergency Procedures
Pause Functionality
Most contracts include pause functionality for emergency situations:
// Check if contract is paused
function paused() external view returns (bool);
// Emergency pause (admin only)
function pause() external onlyRole(EMERGENCY_ROLE);
// Unpause (requires timelock)
function unpause() external onlyRole(DEFAULT_ADMIN_ROLE);
Upgrade Procedures
Contracts use OpenZeppelin's upgradeable proxy pattern:
// Upgrade implementation (timelock required)
function upgrade(address newImplementation) external;
// Upgrade with data migration
function upgradeToAndCall(
address newImplementation,
bytes calldata data
) external;
Need Help?
Smart Contract Issues: GitHub Issues
Integration Support: [email protected]
Security Reports: [email protected]
Discord: Join our #developer-support channel
Note: Contract addresses will be updated when Base Mainnet deployment is complete. Subscribe to our Discord for deployment announcements.
Last updated