Creation interface
create(string name, string symbol, bytes32 metadataHash_,
address[] payees, uint16[] bps, bool toHolders,
uint16 creatorTaxBps, uint256 minInitialTokens, uint256 deadline) payable returns(address)The return value is the new curve address. A transaction receipt does not expose a Solidity return value directly; decode TokenCreated from the trusted factory receipt to find both token and curve.
Prepare accurate metadata
A nonzero bytes32 metadata hash is required by the contract, but an arbitrary hash does not make metadata resolvable by the website. The current application publishes normalized metadata through its signed draft flow. External publishers should coordinate the exact canonical format, publication and indexing flow with the team before offering token creation. This release does not claim a stable public write API or ship an automatic creation SDK.
Value and creation settings
- Read launchFee() from the factory. The current V10 value is 0.0004 ETH; gas is separate.
- msg.value minus launchFee is the optional initial creator purchase. If there is no initial purchase, minInitialTokens must be zero.
- Use a nonzero metadata hash, name of 1–64 UTF-8 bytes and symbol of 1–12 UTF-8 bytes. These are byte limits, not a JavaScript character-count rule.
- Provide 1–5 unique nonzero payees, excluding the fee vault and new curve, with equally sized bps entries. Each weight must be positive and the total must be 10000. Holder mode requires exactly one payee: the creator, with weight 10000. Simulate the complete creation transaction.
- creatorTaxBps is capped at 1000 (10%) in V10; base trading fees apply separately.
- Require a deadline and a reviewed minimum output for an initial purchase. Creation settings must be explicitly chosen by the user.
Confirm once
Simulate and estimate gas before a user-authorized send. Save the transaction hash, then decode the TokenCreated event and verify the new token/curve binding. Indexer delay is not a reason to submit another create transaction. A submitted transaction may succeed after a client timeout.