Token Creation

Creation Process

1. Prepare Metadata

const metadata = {
  name: "Token Name",
  symbol: "Token Symbol",
  description: "Token Description",
  image: "IPFS Image URL",
  social_links: {
    twitter: "Twitter Link",
    telegram: "Telegram Link",
    discord: "Discord Link",
  },
};

2. Create Token Transaction

Endpoint: POST /api/token/create

Request Headers:

Authorization: Bearer your_jwt_token
Content-Type: application/json

Request Parameters:

{
  "insurance_amt": 1000000000,
  "insurance_px": 500000000,
  "name": "My Token",
  "symbol": "MTK",
  "uri": "ipfs://metadata_hash",
  "user_pubkey": "user_wallet_public_key",
  "network": "mainnet",
  "platform": "meteora",
  "platform_params": ""
}

Response Example:

{
  "code": 200,
  "data": {
    "mint": "token_mint_private_key_base58",
    "signature": "transaction_signature",
    "tx": "transaction_id",
    "dlmm": {
      "initial_bin_id": -300
    }
  }
}

3. Sign and Send Transaction

// Build on-chain transaction using returned mint private key
const tokenParams = {
  name: "My Token",
  symbol: "MTK",
  uri: "ipfs://metadata_hash",
  insuranceAmt: 1000000000,
  insurancePx: 500000000,
  userPubkey: "user_public_key",
  mint: "mint_private_key",
  buyAmount: 100000000,
  binId: -300,
  isAntiSniper: false,
};

// Call on-chain creation function
const { signatures, mintPubkey } = await signAndSendTransaction(
  connection,
  tokenParams,
  wallet
);

Parameter Description

Basic Parameters

  • name: Token name (1-32 characters)

  • symbol: Token symbol (3-10 bytes)

  • uri: Metadata URI (IPFS link)

  • user_pubkey: Creator wallet address

Conviction Pool Parameters

  • insurance_amt: Conviction amount (lamports, 0 means no creation)

  • insurance_px: Trigger price (lamports)

Trading Parameters

  • buyAmount: Initial purchase amount (optional)

  • binId: Initial price point for DLMM pool (default -300)

  • isAntiSniper: Enable anti-sniper functionality

Key Points

  • Token creation requires sufficient SOL balance

  • Conviction pool is optional, insurance_amt=0 means no creation

  • Symbol length is calculated in bytes, supports UTF-8

  • Uses Meteora DLMM as AMM protocol

  • Supports anti-sniper configuration

Last updated