MOONSALE
a product of IGH
Creator Guide

Launch Your Token Sale on Moonsale

This guide covers everything from creating your token to running a presale or fair launch and distributing tokens to your investors.

Getting Started

Before you launch, you need a few things ready. Moonsale supports both Standard Presales (fixed price, hardcap) and Fair Launches (market-determined price, no hardcap). Make sure you have all of the following before you start.

A Web3 wallet (MetaMask or WalletConnect compatible) with some native tokens for gas fees
Your token contract address -- either deployed via Moonsale or from your own contract
A clear tokenomics plan -- how many tokens go to the sale, liquidity, team, etc.
Your sale details -- start and end time, softcap (presale) or token pool size (fair launch)
Social links and a project description for your sale page
Moonsale supports BNB Smart Chain, BNB Testnet, Ethereum, and Sepolia Testnet. We recommend testing on a testnet first before launching on mainnet.

Creating a Token

If you do not have a token yet, you can create one directly on Moonsale using the Token Generator. Go to Developer Tools in the sidebar and click Token Generator.

1
Open Token Generator
Go to Developer Tools and click Token Generator in the sidebar.
2
Fill in token details
Enter your token name, symbol, total supply, and decimals (18 is standard). Use the quick-fill preset buttons (100M, 1B, 100B, 1T) to set common supply sizes instantly. Choose your token type from the options below.
3
Pay the creation fee
A small fee in native tokens (BNB or ETH) is charged to deploy your token. The exact amount is shown on the page.
4
Confirm and deploy
Click Create Token and confirm the transaction. Your token contract address will be shown on the success screen. Save it -- you will need it for your presale or fair launch.
Token types available:
StandardBasic ERC-20 token with fixed supply. No minting or burning after deployment.
Liquidity GeneratorCharges a buy/sell fee on every trade. Fees are split between auto-liquidity and a marketing wallet you control. Ideal for DeFi tokens.
BurnableHolders can burn their own tokens to permanently reduce the total supply.
Mintable + BurnableOwner can mint new tokens after deployment AND holders can burn their own tokens.
If you deploy a Liquidity Generator token, the Token Management page will show extra panels for updating fees, setting your marketing wallet, toggling swap, and managing fee exclusions.

Creating a Presale

A standard presale has a fixed token price, a softcap, and a hardcap. Investors pay a known price and receive tokens when you finalize. Click Create Presale in the sidebar.

1
Enter your token address
Paste your token contract address. The form will auto-fill the token name, symbol, and your balance.
2
Set your presale details
Fill in the token price, softcap, hardcap, min and max contribution, and the start and end times.
3
Set liquidity details
Choose what percentage of raised funds goes to liquidity and how long it will be locked. A minimum of 51% is required.
4
Optional: enable vesting
Toggle vesting on to set a release schedule for presale investor tokens. Vesting is off by default. When enabled, set: TGE unlock % (minimum 20%, released immediately on claim day), cliff in days (delay before any further vesting), and vesting duration in days (linear release period, max 1825 days / 5 years). A red error appears if you exceed the 5-year limit.
5
Add project info
Enter your project name, description, logo URL, website, and social links. This is what investors see on your presale page.
6
Deploy
Review everything and click Deploy. Two wallet transactions are needed -- one approval and one deploy. Confirm both in your wallet.
Double-check your start and end times before deploying. These cannot be changed after the presale is live. After deployment you still need to pay the listing fee before your presale goes public -- see the Listing Fee section below.

Creating a Fair Launch

A fair launch has no fixed token price and no hardcap. Contributors pool native tokens together and the final token price is determined at finalization based on total raised divided by the token pool. This is ideal for projects that want a fully community-driven price discovery. Click Create Fair Launch in the sidebar.

1
Enter your token address
Paste your token contract address. The form auto-fills the token name, symbol, and your balance.
2
Set sale parameters
Set how many tokens you are putting up for sale (the token pool), the softcap, the start and end times, and the liquidity lock duration.
3
Optional: enable whitelist
Restrict who can contribute to a list of approved wallet addresses. You manage the whitelist from your fair launch page after deployment.
4
Add project info and deploy
Fill in project name, description, logo, and socials. Click Deploy and confirm both wallet transactions. After deployment, pay the listing fee to go public.
How fair launch price works:
You deposit a fixed number of tokens (the token pool) when you deploy
Investors contribute native tokens (BNB or ETH) with no fixed price
Final price = total raised / token pool -- determined only at finalization
Each contributor receives tokens proportional to their share of the total raised
Contributors can see a live price estimate that updates as more people contribute
Fair launches do not support presale-style vesting. Tokens are claimable all at once after finalization. Use the Token Lock or Vesting tool separately if you need a release schedule for your own allocation.

Listing Fee

After deploying a presale or fair launch, you must pay a listing fee before your sale page becomes publicly visible. The fee is charged in the native token of whichever chain you deploy on (BNB on BSC, ETH on Ethereum/Sepolia).

1
Deploy your presale or fair launch
Complete the create form. After the two deploy transactions succeed you will be redirected to your sale page.
2
Go to My Launches
Open My Launches in the sidebar. Your new sale will appear with a yellow "Pending" badge and a "Pay Listing Fee" button.
3
Pay the listing fee
Click Pay Listing Fee and confirm the transaction. The exact amount in BNB/ETH is shown before you confirm.
4
Sale goes live
Once the fee transaction is confirmed on-chain, your sale status changes to "Active" and it appears on the public listings page.
The listing fee amount is set by the platform admin and can differ between chains and between presales and fair launches. The current fee for your selected chain is always shown in the create form before you deploy.
If you deploy on testnet, the listing fee is typically zero. Use testnet to verify your full flow before spending on mainnet.

Presale Settings Explained

Here is what each presale setting means so you can fill in the form confidently.

Token Pricerequired
How much 1 token costs in the native currency (BNB or ETH). For example, 0.0001 BNB per token.
Softcaprequired
The minimum amount you need to raise. If this is not reached by the end time, the presale fails and investors get refunds.
Hardcaprequired
The maximum amount you want to raise. Once this is hit, the presale closes automatically.
Min Contributionrequired
The minimum amount a single wallet can invest. Prevents spam from tiny contributions.
Max Contributionrequired
The maximum amount a single wallet can invest. Helps distribute tokens more fairly.
Start Timerequired
When investors can start buying. Must be in the future.
End Timerequired
When the presale closes if hardcap has not been reached.
Liquidity %required
What percentage of raised BNB/ETH goes into the DEX liquidity pool after a successful presale. Minimum 51%.
Liquidity Lockrequired
How many days the liquidity pool tokens are locked after listing. Longer locks build more investor trust.
Vesting
Optional. TGE % (min 20%) is unlocked on claim day; remaining tokens vest linearly after a cliff period over the vesting duration you set (max 1825 days).
Unsold Tokensrequired
What happens to leftover tokens at finalize when softcap fills before hardcap. Burn (default), Refund to creator, or Lock in contract. Locked in on-chain at create time. See the dedicated section below.
Whitelist
Optional. Restrict participation to a list of approved wallet addresses. You manage the list from your presale page.

For fair launches the key settings are Token Pool (how many tokens go up for sale) and Softcap (minimum raise for the sale to succeed). There is no token price or hardcap.

Unsold Token Handling

When you create a presale, you deposit enough tokens to cover hardcap (presale allocation + liquidity allocation). If your sale ends between softcap and hardcap, some of those tokens were never sold. You pick what happens to them at create-time via the Unsold tokens at finalize radio in Step 2 of the wizard. The choice is recorded on-chain in the presale contract and cannot be changed after deployment.

Burn (default, enum value 0)
Unsold tokens are transferred to 0x000...dEaD at finalize. Effectively reduces total supply. Emits UnsoldTokensBurned(amount). Best signal to investors that you are not retaining undistributed supply for later use. Pick this when in doubt.
Refund to creator (enum value 1)
Unsold tokens are returned to your wallet at finalize. Emits UnsoldTokensRefunded(creator, amount). Pick this if you have a concrete plan for the recovered supply (staking rewards, marketing budget, partnerships). Be ready to disclose that plan publicly, otherwise investors may read it as a soft pre-mint.
Lock in contract (enum value 2)
Unsold tokens stay locked inside the presale contract permanently. The contract has no withdrawal path for them. Emits UnsoldTokensLocked(amount). Functionally close to Burn since the tokens cannot move, but the supply is still technically counted on chain. Same behavior as the v1 contract. Older presales deployed before this feature shipped show as Lock (legacy) in the UI.
This only triggers when softcap < raised < hardcap. A sale that hits hardcap exactly has zero unsold tokens by construction. A sale that fails (softcap not reached) returns all deposited tokens via the standard withdrawCreatorTokens() recovery flow regardless of this setting.
The choice is visible to investors on the public sale page (Info tab, Liquidity & Vesting card) so picking Burn is a small but real credibility signal. We default to Burn for that reason.

Finalizing Your Sale

After your sale ends and the softcap is reached, you need to finalize it manually from My Launches. Finalization adds liquidity to the DEX and makes tokens claimable for contributors. The process is the same for both presales and fair launches.

1
Go to My Launches
Find your sale under My Launches in the sidebar.
2
Click Finalize
The Finalize button appears in the owner panel on the right side of your sale page. Only the wallet that deployed the sale can see it.
3
Confirm the transaction
This transaction adds liquidity to the DEX and locks it for the duration you set. Investors can now claim their tokens.
For fair launches, the final token price is locked in at the moment you finalize. Contributors see their exact token allocation immediately after finalization. The page auto-detects the outcome for contributors within a few seconds via on-chain polling, so they do not need to refresh.
Finalize as soon as possible after the sale ends. Investors are waiting to claim their tokens. Delays damage trust in your project.
If you do not finalize within the allowed window, investors may be able to mark the sale as failed and get refunds. Always finalize on time.

Cancel and Withdraw

If you have deployed a presale or fair launch but have not yet paid the listing fee (status is Pending), you can cancel it and withdraw your deposited tokens. You can also cancel an Active sale that has not yet reached its softcap.

1
Go to My Launches
Open My Launches. Find the sale you want to cancel.
2
Click Cancel
The Cancel button appears in the owner panel. Confirm the on-chain transaction to cancel the sale.
3
Withdraw your tokens
After cancelling, a "Withdraw Tokens" button appears. Click it and confirm to retrieve all tokens you deposited into the presale contract.
Cancelling an active presale that already has investor contributions will trigger the refund flow for all investors. They will be able to claim their funds back from the contract directly.
You can also cancel a sale that has Filled (hardcap reached) but not yet been finalized. This was added to give creators a recovery path if something goes wrong before finalization.

Token Lock

The Token Lock tool lets you lock any tokens (your own allocation or a team wallet) for a fixed period. This is separate from liquidity locking and is used to show investors that team tokens will not be sold early. Go to Token Lock in Developer Tools.

1
Go to Token Lock
Find it under Developer Tools or visit Token Lock.
2
Enter the token address
Paste the address of the token you want to lock. Your wallet balance is shown automatically.
3
Enter the amount
Type in the number of tokens to lock, or click the Max button to fill your full balance. A percentage hint shows what share of the total supply you are locking.
4
Set the unlock date
Pick a date and time, or use one of the quick presets: 90 days, 180 days, or 365 days from today.
5
Optional: add a Lock Title
A short label that appears on the lock detail page. Useful when you have multiple locks and want to tell them apart (e.g., Team Allocation, Marketing Reserve).
6
Review the summary and lock
A green "What will happen" box appears once all required fields are filled. It shows a plain-English summary of the lock. Review it, then click Lock Tokens and confirm both wallet transactions (approve + lock).

Once locked, the tokens are held by the contract until the unlock date. Each lock has a shareable detail page at /token-lock/[lockId]. On the Token Lock page, your active locks appear under My Locks with a View Lock button on each card that opens its detail page directly.

Share the lock detail URL with your community before launch. Investors can verify the lock amount, the unlock date, and the token address on-chain without trusting your word.

Token Vesting

Token Vesting locks tokens and releases them gradually over time using a TGE unlock, cliff, and linear vesting model. Ideal for team allocations, advisor grants, and any situation where you want to prove long-term commitment. Go to Token Vesting in Developer Tools.

How the vesting model works:
Start Date
When vesting begins. Defaults to 30 days from today. The TGE unlock happens at this moment.
TGE %
Percentage of total tokens released immediately at the start date (TGE = Token Generation Event). For example, 20% means 20% is claimable right away.
Cliff Days
Days after the start date during which no additional tokens vest. Defaults to 60 days. The beneficiary cannot claim anything during this period beyond the TGE amount.
Duration
Total days of linear vesting that follows the cliff. The remaining tokens (after TGE) vest evenly every second over this period. Defaults to 365 days.
Beneficiary
The wallet address that can claim the vested tokens. Can be different from the creator. The beneficiary sees this schedule in their own My Schedules dashboard.
Total Amount
How many tokens are locked into the schedule. You approve this amount when creating the schedule.
1
Open Token Vesting
Go to Developer Tools and click Token Vesting.
2
Enter the token address and amount
Paste your token contract address and enter the total amount to vest.
3
Configure TGE, cliff, and duration
Set the start date, TGE unlock percentage, cliff period, and linear vesting duration. All four have sensible defaults so you can adjust only what you need.
4
Enter the beneficiary address
This is the wallet that will be able to claim tokens. It can be your own wallet or someone else's (a team member, advisor, etc.).
5
Create the schedule
Approve the token spend and confirm the schedule creation transaction. The tokens are transferred into the vesting contract immediately.
My Schedules dashboard:
Both the creator and the beneficiary see the schedule card in My Schedules on the vesting page.
Each card shows the token, total amount, amounts claimed and claimable, and the beneficiary address.
A Claim button appears on each card. It is green and clickable when tokens are available to claim. It turns grey and disabled when there is nothing claimable yet.
A View Schedule button opens the full schedule detail page at /vesting/[scheduleId], showing a progress bar, live countdown, three-milestone timeline (TGE / Cliff Ends / Fully Vested), and a claim button.
The detail page URL can be shared with investors as proof of the vesting terms.
Vesting schedules on Moonsale are non-revocable by design. Once created, neither the creator nor the platform can cancel or modify the schedule. This is enforced at the smart contract level, giving beneficiaries a hard guarantee that the tokens will vest as agreed.
Using vesting for team tokens is one of the strongest trust signals for investors. Create the schedule before launch and share the detail page link so the community can verify the terms on-chain.

Tokenomics Creator

The Tokenomics Creator is an AI-powered tool that generates a professional tokenomics allocation table and donut chart that you can export as a PDF. Use it to communicate your token distribution to investors before launch. Go to Tokenomics Creator in Developer Tools.

1
Open Tokenomics Creator
Go to Developer Tools and click Tokenomics Creator.
2
Enter your token name
Type your token or project name. This appears in the header of the generated report.
3
Fill in allocation rows
Each row represents one allocation category: a color, a category name (e.g., Presale, Team, Liquidity), a percentage of total supply, and a lockup or vesting description. Rows are pre-populated with common categories that you can edit or delete.
4
Check the donut chart
A live donut chart updates as you edit the rows. All percentages must total 100% before you can export.
5
Export to PDF
Click Generate PDF. A professionally formatted report is downloaded with your token name, allocation table, donut chart, and per-category lockup details.
Each row has a color swatch you can click to change the chart color for that category.
You can add or remove rows freely. Categories with 0% are valid but will not appear in the chart.
The lockup/vesting field is freeform text -- write anything relevant (e.g., "12-month cliff, 24-month linear vest").
The generated PDF is suitable for including in a pitch deck or sharing in your Telegram/Discord community.
A clear tokenomics breakdown published before launch significantly increases investor trust. Combine it with on-chain proof: lock team tokens via Token Lock or Token Vesting and link the detail pages in your presale description.

KYC and Audit

Moonsale lets you apply for KYC (identity verification) and Smart Contract Audit badges that appear on your presale or fair launch page. These badges significantly increase investor confidence. Go to KYC and Audit in the sidebar.

KYC Badge
Go to KYC and Audit and submit your application. The platform admin reviews your documents and enables the badge on your sale page manually.
Audit Badge
Get your smart contract audited by a reputable firm, then submit the audit report link through the same page. The admin adds the badge with a link to your report.

Security Score

Every project gets an automatic Security Score visible on its detail page. Investors use it to evaluate your launch before contributing, so understanding how it works helps you plan a launch that scores high without gaming the system.

The score is out of 50 across eleven categories. Critical-tier checks (Liquidity Lock, Team Token Lock, Contract Verified) carry the heaviest weight. To maximize your score:

  • Lock LP for 365+ days, the heaviest category, full 8 pts.
  • Lock team tokens for 365+ days via the MoonSale Locker, another 8 pts. If you have no team allocation, the check is N/A.
  • Use a token deployed via the MoonSale token factory, auto-verified on BscScan, full 8 pts on Contract Verified.
  • Allocate ≥ 55% of supply to presale + liquidity combined, full 5 pts.
  • Set liquidity ≥ 85% of raised funds, full 5 pts.
  • Get KYC verified and submit an audit, 10 pts combined.
  • Fill all four social fields (Twitter, Telegram, Website, Logo), full 1 pt.
  • Set softcap ≥ 50 BNB, full 1 pt.
Maximum achievable score with all 11 checks at 3/3 is 50/50. The Max button on the Presale Rate field auto-fills rates that comply with the platform's minimum listing premium and use 100% of token supply.

For the full list of categories with exact thresholds and the math behind every check, see the Security Score Methodology page.

Fees

Here is a breakdown of the fees involved when launching on Moonsale. All fees are paid in the native token of the chain you are using (BNB on BSC, ETH on Ethereum/Sepolia).

Token Creation FeeA flat fee in BNB or ETH to deploy your token via the Token Generator. The exact amount is shown on the creation page.
Presale Listing FeeA per-chain native token fee paid after you deploy your presale. Paid from the My Launches page. Unlocks your sale for public view.
Fair Launch Listing FeeSame as above but for fair launches. The fee amount may differ from the presale fee. Both are set by the platform admin.
Platform FeeA percentage of raised funds taken when you finalize. The current rate is shown in the create form before you deploy.
Token Lock FeeA flat fee to lock tokens using the Token Lock tool. Shown on the lock page.
Vesting Setup FeeA flat fee to set up a vesting schedule. Shown on the vesting page.
Gas FeesStandard network transaction fees paid to the blockchain. These are not collected by Moonsale.
All current fee amounts are visible on each respective tool page and in the Admin panel. Fees may vary by chain and are updated by the platform admin at any time.

Tips for a Successful Launch

Here are some things that make presales and fair launches succeed on Moonsale.

Get KYC verified. It is the single biggest trust signal for investors.
Lock team tokens before going live. Use the Token Lock or Vesting tool.
Set a realistic softcap. A softcap you can actually hit is better than an ambitious one that causes the sale to fail.
Lock liquidity for at least 180 days. Short lock periods scare investors away.
Fill in all project info. Sales with a logo, description, and social links look far more legitimate.
Finalize quickly after the sale ends. Delays make investors nervous and damage your reputation.
For fair launches: size your token pool carefully. A larger pool means a lower final price. A smaller pool means higher price but lower liquidity depth after listing.
For fair launches: use the whitelist if you want to control who can participate in early rounds before opening to the public.
Do not set the max contribution too high. It concentrates tokens in few wallets and looks bad to investors.
Do not transfer unsold tokens to a burn address before finalization. The contract needs its token balance intact to add liquidity.
Pay the listing fee promptly after deployment. Your sale is not visible to the public until you do.