Skip to main content
All on-chain state for tonch is split across these contracts. Every address is verifiable on Tonviewer; code hashes match the FunC source in the tonch monorepo.

Singleton factory

The factory is the entry point for every launch. Each launch sends a op::launch message to the factory; the factory deploys the per-launch contracts and registers the launch.
FieldValue
Mainnet addressEQD3pSD5-5mbNpfQExkbKL-Pk8Z4b9jU9z2-3pcuWL6Ok3vF
Code hashb6f422db22584051729b96a2fea4eefdc43699b9874c9bcc8ea82f9bcf4063b2
Get methodsget_factory_config, get_jetton_master_address
Tonviewertonviewer.com/EQD3pSD5…
get_factory_config returns the configured constants:
ConstantValue
TreasuryEQBPaftCJSAB1WxHdPwfHxNMGYGAjy2b1ExVoj5uakoONzkN
OwnerEQDGKWIf4UaCDF0oQu3fGJCIKAIpX2McFhVkgcclMdAA6BhC
DeDust factoryEQBfBWT7X2BHg9tXAxzhz2aKiNTU1tpt5NsiK0uSDW_YAJ67 (DeDust v2 mainnet)
Total supply1,000,000,000
For-sale supply800,000,000 (80%)
AMM reserve200,000,000 (20%)
Graduation target1,000 TON
Virtual TON300 TON
Virtual Jetton1,010,000,000
Launch fee3 TON
Curve fee100 bps (1%)

Per-launch contracts

Each launch deploys three contracts. The addresses are derived deterministically from the launch parameters; once a launch is registered you can fetch them via GET /api/launches/<curve_address> or by reading TokenLaunched events.

Bonding curve sale

Holds the TON and Jetton reserves for the launch. Receives buys and sells until graduation; runs the migration to DeDust at graduation.
FieldValue
Code hash017447a29ce302ddaffa55a88ffc79c4b3f0b952c7c55ee22a3e02227519352e
Sourcetonlaunch/contracts/bonding-curve-sale.fc
Get methodsget_curve_state, get_quote_buy, get_quote_sell

Jetton master (TEP-74)

Standard TEP-74 reference Jetton, vendored unchanged from the TON Foundation reference implementation.
FieldValue
Code hash081069d3325bed7d3e569fa954950cc05d7dd29b919a4a7fb03e7b7b6b734f60
Sourcetonlaunch/contracts/jetton-master.fc
Get methodsget_jetton_data, get_wallet_address

LP locker

Write-only sink for LP Jettons after graduation. No withdrawal opcode.
FieldValue
Code hashf83cb4886801531529bbd6eadf38b3290cb2ec3c288e42c3bcc704c3da785c91
Sourcetonlaunch/contracts/lp-locker.fc
Accepted opcodeop::lock_lp only (received as transfer_notification from LP-Jetton wallet)

Jetton wallet

Standard TEP-74 reference Jetton wallet. Deployed automatically by the Jetton master when a holder receives Jettons.
FieldValue
Code hashe75d56a89243ca63110e575d1c7bfeee4cbff064498d1d1915a23f939ec3700e
Sourcetonlaunch/contracts/jetton-wallet.fc

DeDust v2 mainnet

Used by every graduation. Owned and operated by DeDust, not tonch.
FieldValue
FactoryEQBfBWT7X2BHg9tXAxzhz2aKiNTU1tpt5NsiK0uSDW_YAJ67
Referencedocs.dedust.io

Operational addresses

These are not contracts but key wallets in the operational topology:
RoleAddress
Treasury (recipient of launch fees + graduation cuts)EQBPaftCJSAB1WxHdPwfHxNMGYGAjy2b1ExVoj5uakoONzkN
Factory owner (only op::set_treasury admin)EQDGKWIf4UaCDF0oQu3fGJCIKAIpX2McFhVkgcclMdAA6BhC
Keeper (graduation triggerer + fee sweeper)EQA7sattW3LBojv7sNnp3lVAxqPEUVira8IlpAzUeY570iAG
Mainnet deployer (factory deployer)EQAp4fMBem7Grw_TwvXnw8y6VhLGT7ETuQOsnXzBZJnBrgkY

Source verification

The factory is verified on Tonviewer — its source matches the FunC files in the repository at the deployed code hash. The verification proof is on chain at verifier.ton.org. Per-launch contracts (curve, Jetton master, Jetton wallet, LP locker) inherit verification from their code hashes — once those four hashes are verified once, every future launch deploys identical bytecode and is implicitly verified. The deploy script that produces these addresses is tonlaunch/scripts/deploy/deploy-mainnet.ts.