Verify Your Token on Basescan
Verify your token contract source code to build trust and transparency. This allows anyone to view and audit your contract code.
Step-by-Step Verification Guide
Navigate to Your Contract
Go to your token contract page on Basescan:
Enter your token address above to get the direct link
Click "Verify and Publish"
On the contract page:
- Click the "Contract" tab
- Click the "Verify and Publish" button
Choose Verification Method
Use Standard JSON Input so Basescan fetches OpenZeppelin imports automatically.
Standard JSON Input (Recommended)
- Select "Solidity (Standard JSON Input)" on Basescan
- Compiler Version:
0.8.31 - License:
*** - Optimizer: Enabled, Runs: 200
- Paste the contract source below into the JSON input (or use your Hardhat artifact)
✅ Matches the deployed ChaosMemePriva: 1% fee → 0.3% creator / 0.2% dev / 0.5% backing, USDC backed
Enter Contract Source Code
Use the source below with Standard JSON Input. It matches the deployed ChaosMemePriva (USDC Backed):
- 1% total fee on buy/refund → 0.3% creator / 0.2% dev / 0.5% backing (backing fee stays in contract)
- On-demand minting: tokens minted on buy, burned on refund (no MAX_SUPPLY)
- Zero premium pricing: buy and sell at backing price
- Bootstrap: 1 USDC = 1 token
- MIN_AMOUNT = 0.01 USDC (10,000 with 6 decimals)
- USDC backed (6 decimals) on Base Sepolia
- Circulating supply uses
totalSupply() - balanceOf(address(this))
Constructor Arguments (Optional)
If Basescan asks for constructor arguments, use this order:
_creator, _devFeeRecipient, _usdc, name, symbol
If unsure, leave blank and let Basescan auto-detect.
Submit and Verify
Click "Verify and Publish". Basescan will:
- Compile your contract
- Compare the bytecode with the deployed contract
- Show a green checkmark ✅ if verification succeeds
Contract Source Code
pragma solidity ^0.8.31;
import "@openzeppelin/contracts@4.9.3/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts@4.9.3/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts@4.9.3/access/Ownable2Step.sol";
import "@openzeppelin/contracts@4.9.3/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts@4.9.3/utils/math/Math.sol";
/**
* @title Chaos Meme Priva — Pure Eternal Edition with RefundTo (USDC Backed)
* @notice The final, simplest, fairest, unruggable meme token with refundTo functionality
* @dev 1% fee on buy & refund → 0.5% stays as backing forever
* @dev Allows users to refund tokens to any address via refundTo()
* @dev Backed by USDC (6 decimals) on Base Sepolia
*/
Full contract code only when on mainnet. We are testing on sepolia for now.
Important: The source code above uses OpenZeppelin imports. Use "Standard JSON Input" with compiler 0.8.31, *** license, optimizer enabled (runs 200). Do not use "Single file" with this code unless you provide an actual flattened file.
Troubleshooting
Error: "Constructor arguments invalid"
Try leaving constructor arguments blank. Basescan can usually auto-detect them from the deployment transaction.
Error: "Bytecode does not match"
Make sure you're using compiler version 0.8.31 and the optimizer settings match:Optimizer: Enabled, Runs: 200
Error: "Cannot find module @openzeppelin" or "File import callback not supported"
This happens when using "Single file" method with npm imports. Solution:
• Use "Standard JSON Input" method instead (recommended)
• OR flatten the contract first: npx hardhat run scripts/flatten-contract.ts
Still having issues?
Make sure you're on the correct network (Base Sepolia for testnet). You can also try using Hardhat's verification plugin for automated verification.
After Verification
Once verified, your contract will show:
- ✅ Green checkmark indicating verified contract
- 📄 Full source code visible to everyone
- 🔍 Ability to read and interact with contract functions
- 📊 Better trust and transparency for users