Loading...
Loading...
Launch tokens on Base blockchain via the OpenServ Launch API. Creates ERC-20 tokens with Aerodrome concentrated liquidity pools. Use when launching tokens, deploying memecoins, or building agents that create tokens with locked LP. Read reference.md for the full API reference. Read openserv-agent-sdk and openserv-client for building and running agents. You can launch tokens for your OpenServ agents.
npx skill4agent add openserv-labs/skills openserv-launchreference.mdtroubleshooting.mdexamples/https://instant-launch.openserv.ainpm install axiosimport 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: '...' }
// }| Endpoint | Method | Description |
|---|---|---|
| POST | Create a new token with LP pool |
| GET | List launched tokens |
| GET | Get token details by address |
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Token name (1-64 characters) |
| string | Yes | Token symbol (1-10 chars, uppercase, alphanumeric) |
| string | Yes | Creator wallet address (receives 50% of fees) |
| string | No | Token description (max 500 characters) |
| string | No | Direct link to image file (jpg, png, gif, webp, svg) |
| string | No | Website URL (must start with http/https) |
| string | No | Twitter handle (with or without @) |
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
}
}| 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 |
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)# Check if updates are available
npx skills check
# Update all installed skills to latest versions
npx skills updatenpx skills add openserv-labs/skills