ERC-20 / PROFESSIONAL GUIDE

Build a token with your own rules.

Use this guide when the simple launcher is not enough. It covers the ATSChain network settings, contract choices, deployment, verification, metadata, and the checks required before users receive tokens.

01 / QUICK START

Choose the right path first.

ATSChain is built on Cosmos EVM and runs Ethereum-compatible smart contracts. Use the familiar Ethereum development workflow with Solidity, OpenZeppelin, Hardhat or Foundry, and ethers.js. To deploy, switch to ATSChain's RPC and EVM chain ID 99101, and pay Gas in ATH.

A

Standard ERC-20

Use the public launcher for a fixed-supply token. It has no admin, mint, pause, upgrade, transfer-tax, or hidden privilege.

Use Token Studio →
B

Custom token logic

Write your own contract when you need minting, a cap, allowlists, Merkle Claim, vesting, fees, or controlled upgrades.

Read the design checklist →
Rule of thumbIf you cannot describe who can change supply or transfers in one sentence, stop and write the specification before coding.

02 / NETWORK

Use the exact ATSChain parameters.

EVM tools and Cosmos tools use different endpoints. Use the EVM RPC for Solidity deployment and the Cosmos REST/RPC endpoints for staking or account queries.

EVM chain ID99101
Cosmos chain IDats-testnet-1
EVM RPChttps://testnet.athense.io/api/evm
Cosmos RPChttps://testnet.athense.io/api/rpc
Native Gas tokenATH / 18 decimals
Explorerhttps://testnet.athense.io/explorer/
{
  "chainId": "0x1831d",
  "chainName": "ATSChain Testnet",
  "nativeCurrency": { "name": "ATH", "symbol": "ATH", "decimals": 18 },
  "rpcUrls": ["https://testnet.athense.io/api/evm"],
  "blockExplorerUrls": ["https://testnet.athense.io/explorer/"]
}

03 / TOKEN DESIGN

Define supply and roles before deployment.

01

Choose fixed, capped, or claim-based supply. Store every amount as an integer in base units and never use floating point values.

02

List every role: deployer, minter, pauser, treasury, distributor, and upgrader. Give each role a named owner and revocation plan.

03

Keep validator, genesis custody, platform-fee, signer, and token administration accounts separate.

04 / DEPLOYMENT

Build, deploy, verify.

  1. Pin Solidity, OpenZeppelin, and the compiler settings in a lockfile.
  2. Run unit, fuzz, invariant, and event-accounting tests locally.
  3. Deploy to ATSChain Testnet and save the contract address, transaction hash, block number, ABI, bytecode, metadata, and source commit.
  4. Verify the exact compiler input and source in Blockscout. Do not verify a different build or a different optimizer setting.
# Hardhat example
npx hardhat compile
npx hardhat run scripts/deploy.ts --network atschainTestnet

# Foundry example
forge build
forge create src/Token.sol:Token \
  --rpc-url https://testnet.athense.io/api/evm \
  --private-key "$DEPLOYER_PRIVATE_KEY"

06 / CUSTOM LOGIC

Make permissions and failure modes explicit.

MintingUse a capped minter role, quotas, batch IDs, events, and a revocation path.
Merkle ClaimUse an epoch, root hash, claimed bitmap, expiry, and snapshot hash.
AllowlistDefine whether contracts, bridges, exchanges, and wallets can receive and transfer.
FeesDocument recipients, maximum rate, rounding, exemptions, pause behavior, and exact events.
UpgradeabilityUse a multisig, timelock, storage-layout tests, and a public upgrade policy.
VestingSpecify start, cliff, duration, revocation, beneficiary changes, and rounding behavior.

07 / TESTING

Do the checks before users receive tokens.

08 / TROUBLESHOOTING

Common deployment failures.

Wallet says wrong networkSwitch to ATSChain Testnet, EVM chain ID 99101, then retry the transaction.
Insufficient fundsThe deployer needs ATH for Gas. Use the Faucet first and keep a small reserve for the deployment.
Contract not visibleWait for the receipt, open the transaction hash in Blockscout, and verify that you are using the EVM explorer route.
Icon not visibleThe icon requires explorer-side metadata registration; it is not part of the ERC-20 contract interface.

RELEASE CHECK

Testnet first. Audit next. Mainnet last.

Keep the deployment record and source commit together. Complete verification and review before publishing a token address to users.