Launch tokens instantly on Base blockchain with one-sided concentrated liquidity pools on Aerodrome Slipstream.
Reference files:
reference.md - Full API reference for all endpointstroubleshooting.md - Common issues and solutionsexamples/ - Complete code examplesBase URL: https://instant-launch.openserv.ai
bash
npm install axios
typescript
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: '...' }
// }
EndpointMethodDescription/api/launchPOSTCreate a new token with LP pool/api/tokensGETList launched tokens/api/tokens/:addressGETGet token details by address
FieldTypeRequiredDescriptionnamestringYesToken name (1-64 characters)symbolstringYesToken symbol (1-10 chars, uppercase, alphanumeric)walletstringYesCreator wallet address (receives 50% of fees)descriptionstringNoToken description (max 500 characters)imageUrlstringNoDirect link to image file (jpg, png, gif, webp, svg)websitestringNoWebsite URL (must start with http/https)twitterstringNoTwitter handle (with or without @)
typescript
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
}
}
SettingValueToken Supply1 billionInitial Market Cap$15,000Price Range2,000,000x (~$30B)Pool Fee2%Tick Spacing500Fee Split50/50 (creator/platform)Lock Duration1 yearStaking Allocation5%Initial Buy0.0005 ETH
typescript
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)
All tokens are deployed on Base Mainnet (chainId: 8453).
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.
bash
# Check if updates are available
npx skills check
# Update all installed skills to latest versions
npx skills update
Or reinstall the OpenServ skills directly:
bash
npx skills add openserv-labs/skills