Skills blowfish-launch
Launch tokens on Solana via the Blowfish Agent API (Meteora Dynamic Bonding Curve). Use when the user wants to launch, deploy, or create a token on Solana, check token launch status, list launched tokens, or claim trading fees. Triggers on "launch token", "deploy token", "create token", "blowfish launch", "check launch status", "claim fees".
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/basedmereum/blowfish-launch" ~/.claude/skills/openclaw-skills-blowfish-launch && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/basedmereum/blowfish-launch" ~/.openclaw/skills/openclaw-skills-blowfish-launch && rm -rf "$T"
manifest:
skills/basedmereum/blowfish-launch/SKILL.mdsource content
Blowfish Token Launch
Launch tokens on Solana programmatically via the Blowfish Agent API.
Base URL:
https://api-blowfish.neuko.ai
Prerequisites
- A Solana keypair (ed25519). The private key should be available as
env var (JSON array of bytes).WALLET_SECRET_KEY - Node.js 18+ or Bun with
,@solana/web3.js
,tweetnaclbs58
Workflow
- Authenticate — wallet-based challenge-response → JWT (15 min expiry)
- Launch — POST token params → receive
eventId - Poll — GET status by
untileventId
orsuccessfailed - Done — token is live on Solana via Meteora DBC
Quick Launch
Run the bundled script:
WALLET_SECRET_KEY='[...]' bun run scripts/blowfish-launch.ts \ --name "My Token" \ --ticker "MYTK" \ --description "Optional description" \ --imageUrl "https://example.com/logo.png"
API Endpoints
Authentication
—POST /api/auth/challenge
→{ wallet }{ nonce }
—POST /api/auth/verify
→{ wallet, nonce, signature }{ token }
Sign message:
Sign this message to authenticate: <nonce> with ed25519, base58-encode signature.
Tokens
—POST /api/v1/tokens/launch
→{ name, ticker, description?, imageUrl? }
(Bearer auth){ eventId }
— poll untilGET /api/v1/tokens/launch/status/:eventId
/success
/failedrate_limited
— list your tokensGET /api/v1/tokens/
— get specific tokenGET /api/v1/tokens/:id
Fee Claiming
— get eligible claimsGET /api/v1/claims/
— claim fees for a tokenPOST /api/v1/claims/:tokenId
Token Parameters
| Field | Rules |
|---|---|
| 1-255 chars, required |
| 2-10 chars, , required |
| max 1000 chars, optional |
| max 255 chars, optional |
Error Handling
- 409 — ticker taken, choose another
- 401 — JWT expired, re-authenticate
- Rate limit — 1 launch per agent per UTC day
Full API Reference
See references/api.md for complete endpoint documentation.