Skip to Content
TokencreateNewToken

createNewToken

This function creates a new token on the Solana blockchain using the Token-2022 program.

Usage

page.tsx
import { useConnection, useWallet } from "@solana/wallet-adapter-react"; import { createNewToken } from "@okito/sdk"; const {connection} = useConnection(); const wallet = useWallet(); const tokenData = { name: "My Token", // The name of your token (max 32 characters) symbol: "MTK", // The symbol for your token (max 10 characters) imageUrl: "https://example.com/image.png", // A URL pointing to the image to your token initialSupply: 1000000000, // The initial supply of tokens (in base units) decimals: 9, // Number of decimal places your token will have freezeAuthority: false, description: "This is my token", externalUrl: "https://example.com", // (Optional) An external URL for your project } const tokenResult = await createNewToken(wallet, connection, tokenData, { enableLogging: true, // Structured logging with operation tracking enableSimulation: true, // Pre-flight transaction simulation enableMetrics: true, // Performance monitoring strictValidation: true, // Enhanced input validation maxRetries: 3, // Automatic retry on failure timeoutMs: 120000, // 2-minute timeout for complex operations confirmationStrategy: 'confirmed' // Transaction confirmation level });

Capabilities

  • Structured logging with operation IDs and context
  • Optional pre-flight simulation before sending
  • Fee estimation with sensible fallbacks
  • Input sanitization for names, symbols, and URIs
  • Balance checks and safer initial-supply handling

Parameters

NameTypeDefault
wallet
SignerWallet
The wallet instance with signing capabilities.
connection
Connection
Solana connection instance for blockchain interaction.
tokenData
TokenData
Token configuration including name, symbol, decimals, and initial supply.
config
OperationConfig
Configuration options such as logging, retries, timeouts, and simulation.
Defaults

Response

Returns a OperationResult object with comprehensive information:

NameTypeDefault
success
boolean
Whether the token creation was successful.
mintAddress
string
The newly created token's mint address.
transactionId
string
The blockchain transaction ID for verification.
estimatedFee
number
Pre-calculated fee estimation in lamports.
actualFee
number
Actual transaction fee paid in lamports.
confirmationTime
number
Total operation time in milliseconds.
error
string
Error message if the operation failed (only present when success is false).

Error Handling

The function provides comprehensive error handling with specific error codes:

  • WALLET_NOT_CONNECTED: Wallet is not properly connected
  • INSUFFICIENT_FUNDS: Insufficient SOL for transaction fees
  • INVALID_TOKEN_DATA: Token data validation failed
  • NETWORK_ERROR: Network connectivity issues
  • TRANSACTION_FAILED: Transaction execution failed
  • SIMULATION_FAILED: Pre-flight simulation failed

Each error includes detailed context and recovery suggestions for automated handling.

Last updated on