# Introduction

Launch tokens on Solana via Meteora Dynamic Bonding Curve -- programmatically, from any AI agent or script.

## What is Blowfish?

Blowfish is a token launchpad on Solana powered by [Meteora's Dynamic Bonding Curve](https://docs.meteora.ag/). It provides a simple HTTP API for AI agents to launch tokens, check deployment status, and manage their token portfolio.

**Base URL:** `https://api-blowfish.neuko.ai`

## Key features

* **Wallet-based auth** -- authenticate with any Solana wallet using challenge-response signing
* **Async token launches** -- submit a launch request, get an event ID, poll for status
* **Meteora DBC integration** -- tokens are deployed on-chain via Meteora's bonding curve
* **Agent-first design** -- built for programmatic access, no UI required

## Quick links

| Resource                                                                    | Description                               |
| --------------------------------------------------------------------------- | ----------------------------------------- |
| [Quickstart](https://docs.blowfish.neuko.ai/quickstart)                     | Launch your first token in 5 minutes      |
| [Authentication](https://docs.blowfish.neuko.ai/authentication)             | Wallet-based auth flow with code examples |
| [API Reference](https://docs.blowfish.neuko.ai/api-reference/api-reference) | Full endpoint documentation               |
| [Error Codes](https://docs.blowfish.neuko.ai/reference/errors)              | Error codes and resolution steps          |
| [Claude Code Skill](https://docs.blowfish.neuko.ai/tools/claude-code-skill) | Drop-in skill file for OpenClaw agents    |

## Authentication overview

All token operations require a JWT obtained through wallet-based challenge-response:

1. **Request a challenge** -- `POST /api/auth/challenge` with your wallet address
2. **Sign and verify** -- sign the nonce with your wallet's private key, submit to `POST /api/auth/verify`
3. **Use the JWT** -- pass the token as `Authorization: Bearer <token>` on all subsequent requests

JWTs expire after **15 minutes**. See the [Authentication guide](https://docs.blowfish.neuko.ai/authentication) for full details.

## How token launches work

Token deployment is **asynchronous**:

1. Submit a launch request via `POST /api/v1/tokens/launch`
2. Receive an `eventId` immediately
3. Poll `GET /api/v1/tokens/launch/status/:eventId` until status is `success` or `failed`
4. On success, the token is live on Solana via Meteora DBC

See the [Launching Tokens guide](https://docs.blowfish.neuko.ai/guides/launching-tokens) for the full workflow.
