跳到主要内容
知仓学习社ZHICANG

openserv-launch

Launch tokens on Base blockchain via the OpenServ Launch API. Creates ERC-20 tokens with Aerodrome concentrated liquidity pools. Use when launching …

读凭据联网执行命令严重 1 · 高危 1internet-court/internet-court-skill

它会碰到什么

扫了多少8 个文本文件,37 KB
它会碰到什么读凭据联网执行命令
命中总数21 处
命中统计严重 1 · 高 1 · 中 6 · 低 5
逐条看命中(2 条严重或高危)
  • 严重 examples/agent-launcher.ts:13cred-paths
    *   - OPENAI_API_KEY in .env
  • examples/launch-token.ts:75cred-envread
    const creatorWallet = process.env.CREATOR_WALLET

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

OpenServ Launch API

Launch tokens instantly on Base blockchain with one-sided concentrated liquidity pools on Aerodrome Slipstream.

Reference files:

  • reference.md - Full API reference for all endpoints
  • troubleshooting.md - Common issues and solutions
  • examples/ - Complete code examples

Base URL: https://instant-launch.openserv.ai


What This API Does

  • Deploys ERC-20 tokens - 1 billion supply, standard token contract
  • Creates Aerodrome CL pools - One-sided liquidity with 2,000,000x price range
  • Locks LP for 1 year - Automatic rug-pull protection
  • Splits fees 50/50 - Creator wallet receives 50% of all trading fees

Quick Start

Dependencies

npm install axios

Launch a Token

import axios from 'axios'

const response = await axios.post('https://instant-launch.openserv.ai/api/launch', {
  name: 'My Token',
  symbol: 'MTK',
  wallet: '0x1234567890abcdef1234567890abcdef12345678',
  description: 'A cool memecoin',
  imageUrl: 'https://example.com/logo.png',
  website: 'https://mytoken.com',
  twitter: '@mytoken'
})

console.log(response.data)
// {
//   success: true,
//   token: { address: '0x...', name: 'My Token', symbol: 'MTK', supply: '1000000000' },
//   pool: { address: '0x...', tickSpacing: 500, fee: '2%' },
//   locker: { address: '0x...', lpTokenId: '12345', lockedUntil: '2027-02-03T...' },
//   txHashes: { tokenDeploy: '0x...', lpMint: '0x...', lock: '0x...', buy: '0x...' },
//   links: { explorer: '...', aerodrome: '...', dexscreener: '...' }
// }

Endpoints Overview

| Endpoint | Method | Description |

| --------------------- | ------ | -------------------------------- |

| /api/launch | POST | Create a new token with LP pool |

| /api/tokens | GET | List launched tokens |

| /api/tokens/:address| GET | Get token details by address |


Launch Request Fields

| Field | Type | Required | Description |

| ----------- | ------ | -------- | ------------------------------------------------ |

| name | string | Yes | Token name (1-64 characters) |

| symbol | string | Yes | Token symbol (1-10 chars, uppercase, alphanumeric) |

| wallet | string | Yes | Creator wallet address (receives 50% of fees) |

| description | string | No | Token description (max 500 characters) |

| imageUrl | string | No | Direct link to image file (jpg, png, gif, webp, svg) |

| website | string | No | Website URL (must start with http/https) |

| twitter | string | No | Twitter handle (with or without @) |


Launch Response

interface LaunchResponse {
  success: true
  internalId: string           // Database record ID
  creator: string              // Creator wallet address
  token: {
    address: string            // Deployed token contract
    name: string
    symbol: string
    supply: string             // Always "1000000000"
  }
  pool: {
    address: string            // Aerodrome CL pool
    tickSpacing: number        // 500
    fee: string                // "2%"
  }
  locker: {
    address: string            // LP locker contract
    lpTokenId: string          // NFT position ID
    lockedUntil: string        // ISO date (1 year from launch)
  }
  txHashes: {
    tokenDeploy: string        // Token deployment tx
    stakingTransfer: string    // 5% staking allocation tx
    lpMint: string             // LP position mint tx
    lock: string               // LP lock tx
    buy: string                // Initial buy tx
  }
  links: {
    explorer: string           // Basescan token page
    aerodrome: string          // Aerodrome swap page
    dexscreener: string        // DEXScreener chart
    defillama: string          // DefiLlama swap
  }
}

Token Defaults

| Setting | Value |

| ------------------ | ------------------ |

| Token Supply | 1 billion |

| Initial Market Cap | $15,000 |

| Price Range | 2,000,000x (~$30B) |

| Pool Fee | 2% |

| Tick Spacing | 500 |

| Fee Split | 50/50 (creator/platform) |

| Lock Duration | 1 year |

| Staking Allocation | 5% |

| Initial Buy | 0.0005 ETH |


Example: Agent with Token Launch Capability

import { Agent, run } from '@openserv-labs/sdk'
import { provision, triggers } from '@openserv-labs/client'
import { z } from 'zod'
import axios from 'axios'

const agent = new Agent({
  systemPrompt: 'You help users launch tokens on Base blockchain.'
})

agent.addCapability({
  name: 'launch_token',
  description: 'Launch a new ERC-20 token with LP pool on Aerodrome',
  schema: z.object({
    name: z.string().describe('Token name (1-64 chars)'),
    symbol: z.string().describe('Token symbol (1-10 chars, uppercase)'),
    wallet: z.string().describe('Creator wallet address'),
    description: z.string().optional().describe('Token description'),
    imageUrl: z.string().optional().describe('Logo image URL'),
    website: z.string().optional().describe('Website URL'),
    twitter: z.string().optional().describe('Twitter handle')
  }),
  async run({ args }) {
    const response = await axios.post('https://instant-launch.openserv.ai/api/launch', args)
    const { token, pool, links } = response.data
    return `Token launched! Address: ${token.address}, Pool: ${pool.address}, Trade: ${links.aerodrome}`
  }
})

async function main() {
  await provision({
    agent: {
      instance: agent,
      name: 'token-launcher',
      description: 'Launch tokens on Base with Aerodrome LP'
    },
    workflow: {
      name: 'Token Launcher',
      goal: 'Launch ERC-20 tokens on Base blockchain with Aerodrome concentrated liquidity pools',
      trigger: triggers.webhook({ waitForCompletion: true, timeout: 600 })
    }
  })
  await run(agent)
}

main().catch(console.error)

Rate Limits

  • 1 token per wallet per 24 hours (spam prevention)
  • Creator wallet must have on-chain activity (not empty)

Network

All tokens are deployed on Base Mainnet (chainId: 8453).


Updating This Skill

This skill may be outdated. The OpenServ team ships updates regularly—new features, API changes, and bug fixes won't be reflected here until you update. If something isn't working as expected, or you want to make sure you have the latest information, update the skill before proceeding.

# Check if updates are available
npx skills check

# Update all installed skills to latest versions
npx skills update

Or reinstall the OpenServ skills directly:

npx skills add openserv-labs/skills

Related Skills

  • openserv-agent-sdk - Build agents with token launch capabilities
  • openserv-client - Provision and deploy agents on the platform
  • openserv-multi-agent-workflows - Multi-agent collaboration patterns
  • openserv-ideaboard-api - Find ideas and ship token-related services

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。