Deployers
Deploy a launch
Simulate, sign, verify, and record one atomic createLaunch transaction.
From the web app
- Open the companion D17 web application, not this documentation origin.
- Select the intended network in its top navigation and open its
/deployroute. - Complete token identity, exact economics, schedule, and treasury fields.
- Resolve every validation item. The form should prefer live
/api/deployer/schemalimits in API mode and canonical contract literals in direct RPC mode. - Review the rendered participant preview.
- Run the read-only simulation.
- Check wallet network, destination (
D17Factory), method (createLaunch), zero transaction value, and tuple values. - Sign once.
- Record the transaction hash and emitted launch, token, vault, metadata hash, and rules hash.
The API has no deployment endpoint. Even in API mode the page simulates against RPC and sends the transaction through the wallet.
From a script
A local signer may call the same factory method, but a production deployment script must keep its key outside source control and must perform the same tuple validation. Never place a private key or seed phrase in a NEXT_PUBLIC_* variable.
Post-transaction verification
D17Factory.launches(launch)is canonical and records the caller as creator;- token, launch, and vault addresses have code;
rulesHash()equals the factory record;D17_LAUNCH_ID()matches the expected release identity;manualDistributionRecipient()equals the creator;- token
mintingClosed()is true and tokenowner()is zero; - token supply destinations add to
maxSupply(); - launch
liquidityVault()and vaultlaunch()point to each other; and - the start time and all five round schedules match what you reviewed.
Indexer discovery is not deployment truth
A successful receipt means the launch exists on-chain. An optional indexer may take a short time to discover and hydrate it. Verify the receipt and factory event first; treat API appearance as a read-layer check.