Smart Contract Docs
Complete reference for all TokenGeneratorApp smart contracts. Functions, parameters, and usage.
Overview
TokenGeneratorApp deploys ERC-20 compliant smart contracts on multiple EVM blockchains. All contracts are built on OpenZeppelin v5, the most audited and trusted smart contract library in the industry.
Contracts are deployed directly from your wallet. We never have access to your private keys, funds, or deployed contracts. Once deployed, the contract is immutable on the blockchain.
Every deployed contract is automatically verified on the respective block explorer (BscScan, Etherscan, BaseScan, etc.), so anyone can read the full source code.
OpenZeppelin v5
Battle-tested base
Auto-Verified
On all block explorers
Non-Custodial
You own your contract
Packages
Three contract tiers with progressive feature sets. All packages include ERC-20 compliance, ownership, verified source code, and the generator reference.
| Feature | Basic | Standard | Premium |
|---|---|---|---|
| Custom name, symbol, supply | |||
| Custom decimals | |||
| Ownership (transfer/renounce) | |||
| Verified source code | |||
| Burn | — | ||
| Mint | — | ||
| Pause / Unpause | — | ||
| Blacklist | — | ||
| Buy / Sell tax | — | — | |
| Anti-whale (max wallet) | — | — | |
| Max transaction limit | — | — | |
| Tax receiver | — | — | |
| AMM pair management | — | — | |
| Auto tax swap | — | — | |
| Withdraw stuck funds | — | — |
Basic Contract
A simple ERC-20 token with ownership. Ideal for community tokens, meme coins, and straightforward utility tokens.
name()publicReturns the token name
Returns: string
symbol()publicReturns the token symbol
Returns: string
decimals()publicReturns the number of decimals (default: 18)
Returns: uint8
totalSupply()publicReturns the total token supply
Returns: uint256
balanceOf(address)publicReturns balance of an address
Params: address account
Returns: uint256
transfer(address, uint256)anyoneTransfer tokens to another address
Params: address to, uint256 amount
Returns: bool
approve(address, uint256)anyoneApprove spender to use tokens
Params: address spender, uint256 amount
Returns: bool
allowance(address, address)publicCheck approved spending amount
Params: address owner, address spender
Returns: uint256
transferFrom(address, address, uint256)anyoneTransfer tokens on behalf of owner
Params: address from, address to, uint256 amount
Returns: bool
owner()publicReturns the contract owner address
Returns: address
transferOwnership(address)ownerTransfer ownership to a new address
Params: address newOwner
renounceOwnership()ownerPermanently renounce ownership — irreversible
generator()publicReturns the generator URL
Returns: string
Constructor Parameters
(string name_, string symbol_, uint8 decimals_, uint256 totalSupply_, address owner_, address feeReceiver_)Standard Contract
Everything in Basic plus burn, mint, pause, and blacklist. Best for projects needing supply management and emergency controls.
name()publicReturns the token name
Returns: string
symbol()publicReturns the token symbol
Returns: string
decimals()publicReturns the number of decimals (default: 18)
Returns: uint8
totalSupply()publicReturns the total token supply
Returns: uint256
balanceOf(address)publicReturns balance of an address
Params: address account
Returns: uint256
transfer(address, uint256)anyoneTransfer tokens to another address
Params: address to, uint256 amount
Returns: bool
approve(address, uint256)anyoneApprove spender to use tokens
Params: address spender, uint256 amount
Returns: bool
allowance(address, address)publicCheck approved spending amount
Params: address owner, address spender
Returns: uint256
transferFrom(address, address, uint256)anyoneTransfer tokens on behalf of owner
Params: address from, address to, uint256 amount
Returns: bool
owner()publicReturns the contract owner address
Returns: address
transferOwnership(address)ownerTransfer ownership to a new address
Params: address newOwner
renounceOwnership()ownerPermanently renounce ownership — irreversible
generator()publicReturns the generator URL
Returns: string
burn(uint256)anyoneBurn tokens from your balance
Params: uint256 amount
burnFrom(address, uint256)anyoneBurn tokens from another address (requires approval)
Params: address account, uint256 amount
burnEnabled()publicCheck if burn feature is enabled
Returns: bool
mint(address, uint256)ownerMint new tokens to an address
Params: address to, uint256 amount
mintEnabled()publicCheck if mint feature is enabled
Returns: bool
pause()ownerPause all token transfers
unpause()ownerResume token transfers
paused()publicCheck if token is paused
Returns: bool
pauseEnabled()publicCheck if pause feature is enabled
Returns: bool
blacklist(address)ownerAdd address to blacklist
Params: address account
unblacklist(address)ownerRemove address from blacklist
Params: address account
isBlacklisted(address)publicCheck if address is blacklisted
Params: address account
Returns: bool
blacklistEnabled()publicCheck if blacklist feature is enabled
Returns: bool
Constructor Parameters
(string name_, string symbol_, uint8 decimals_, uint256 totalSupply_, address owner_, address feeReceiver_, bool burnEnabled_, bool mintEnabled_, bool pauseEnabled_, bool blacklistEnabled_)Note: Features (burn, mint, pause, blacklist) are set at deployment and cannot be changed later. If you deploy with mintEnabled = false, the mint function will always revert.
Deployment Process
Connect Wallet
Connect MetaMask, WalletConnect, or any EVM-compatible wallet. We only read your public address.
Configure Token
Set name, symbol, supply, decimals, and select your package features. Everything happens in your browser.
Choose Network
Select the blockchain to deploy on. Ensure you have enough native currency for the deployment fee + gas.
Deploy
Click Deploy. Your wallet generates and signs the transaction. The smart contract bytecode goes directly to the blockchain.
Verified
Your token is automatically verified on the block explorer. Anyone can read the full source code.
🧪 Free Testnet Deployment
Test all features for free on testnet before deploying to mainnet. Use BSC Testnet with test BNB from a faucet. No fees, no risk.
Deploy on Testnet (Free)Security
OpenZeppelin v5
All contracts inherit from the most audited smart contract library. Battle-tested across billions of dollars in value.
No hidden functions
Source code is verified on block explorers. No backdoors, no hidden mints, no proxy upgrades.
Non-custodial
We never access your wallet, private keys, or funds. Deployment happens directly from your wallet to the blockchain.
Immutable
Once deployed, contracts cannot be modified by anyone — not even us. The code is permanent on the blockchain.
No proxy patterns
Contracts are deployed as non-upgradeable. No one can change the contract logic after deployment.
Supported Chains
Deploy on any of the supported EVM blockchains. All chains use the same contract code and feature set.
BNB Chain
Ethereum
Base
Polygon
Avalanche
Arbitrum
Optimism
Testnets
BSC Testnet (Chain ID: 97) — Available for free testing. Get test BNB from the BNB Chain Faucet. All features work identically on testnet.
Ready to deploy?
Test for free on testnet, then deploy to mainnet in under a minute.