Create a token independently
Issue a classic SPL token with explicit supply and authority decisions before choosing a market.
The token factory creates a mint and its initial supply. It does not automatically create a pool, bonding curve, hook configuration, or launch campaign. Bring the resulting token to either a direct CLMM or a virtual-reserve curve in a separate operation.
Choose the issuance parameters
create_token(CreateTokenArgs) accepts:
| Field | Type | Decision |
|---|---|---|
token_id | u64 | Creator-scoped identifier in the mint PDA seeds |
decimals | u8 | Display precision; supply is still specified in integer atoms |
initial_supply | u64 | Positive number of atoms issued immediately |
mint_authority | Option<Pubkey> | Explicit final authority, or None to revoke minting |
For a token with six decimals, one million whole tokens is 1_000_000_000_000 atoms. Use an exact decimal parser or integer arithmetic; do not pass a JavaScript floating-point result as a financial amount.
Understand the resulting accounts
mint PDA: ["mint", creator, token_id.to_le_bytes()]
issuance PDA: ["issuance", mint]Both accounts are owned by the classic SPL Token program after initialization. The issuance token account holds the initial supply and names the creator as token authority; it is not an associated token account. The creator funds the rent and signs issuance.
The mint is initialized with no freeze authority. After minting the initial supply, the instruction sets the requested final mint authority. Passing None makes that decision irreversible under this token program: future pool creation does not restore minting rights.
Construct the issuance instruction
Construct the instruction from the matching IDL, binding the creator signer and derived accounts. After execution, verify the mint's decimals and supply, absence of freeze authority, final mint authority, and exact balance of the issuance account. Reusing the same creator and token ID must not create another mint at the same address.
Use integration validation to define acceptance criteria for the resulting mint and account balances.
Choose the next operation
- Direct CLMM: choose initial price, fee configuration, hook, and position range.
- Bonding curve: deposit inventory and configure virtual reserves, bootstrap floor, and quote target.
Names, symbols, images, metadata accounts, Token-2022 extensions, and Confidential features are outside this factory's current interface. Token creation alone does not make a market tradable or discoverable by Jupiter.