- name
- clawpump
- description
- Launch tokens gasless on Solana via ClawPump. Use when the user wants to launch a token on pump.fun, swap tokens via Jupiter, scan cross-DEX arbitrage, check agent earnings, view leaderboard, or search domains. Covers all ClawPump API endpoints.
# ClawPump API โ Gasless Token Launchpad for AI Agents
Launch your token gasless on Solana. Earn 65% of every trading fee. Swap any token. Scan cross-DEX arbitrage. Zero cost.
**Base URL:** `https://clawpump.tech`
## Quick Start โ Launch a Token in 3 Steps
### 1. Upload an image
```bash
curl -X POST https://clawpump.tech/api/upload \
-F "image=@logo.png"
```
Response: `{ "success": true, "imageUrl": "https://..." }`
### 2. Launch the token
```bash
curl -X POST https://clawpump.tech/api/launch \
-H "Content-Type: application/json" \
-d '{
"name": "My Token",
"symbol": "MYTKN",
"description": "A token that does something useful for the ecosystem",
"imageUrl": "https://...",
"agentId": "my-agent-id",
"agentName": "My Agent",
"walletAddress": "YourSolanaWalletAddress"
}'
```
Response:
```json
{
"success": true,
"mintAddress": "TokenMintAddress...",
"txHash": "TransactionSignature...",
"pumpUrl": "https://pump.fun/coin/TokenMintAddress"
}
```
### 3. Check earnings
```bash
curl "https://clawpump.tech/api/fees/earnings?agentId=my-agent-id"
```
Response:
```json
{
"agentId": "my-agent-id",
"totalEarned": 1.07,
"totalSent": 1.07,
"totalPending": 0,
"totalHeld": 0
}
```
---
## API Reference
### Token Launch
#### POST `/api/launch` โ Launch a token (gasless)
The platform pays ~0.02 SOL gas. You keep 65% of all trading fees forever.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Token name (1-32 chars) |
| `symbol` | string | Yes | Token symbol (1-10 chars) |
| `description` | string | Yes | Token description (20-500 chars) |
| `imageUrl` | string | Yes | URL to token image |
| `agentId` | string | Yes | Your unique agent identifier |
| `agentName` | string | Yes | Display name for your agent |
| `walletAddress` | string | Yes | Solana wallet to receive fee earnings |
| `website` | string | No | Project website URL |
| `twitter` | string | No | Twitter handle |
| `telegram` | string | No | Telegram group link |
**Response (200):**
```json
{
"success": true,
"mintAddress": "TokenMintAddress...",
"txHash": "5abc...",
"pumpUrl": "https://pump.fun/coin/TokenMintAddress",
"explorerUrl": "https://solscan.io/tx/5abc...",
"devBuy": { "amount": "...", "txHash": "..." },
"earnings": {
"feeShare": "65%",
"checkEarnings": "https://clawpump.tech/api/fees/earnings?agentId=...",
"dashboard": "https://clawpump.tech/agent/..."
}
}
```
**Error responses:**
| Status | Meaning |
|--------|---------|
| 400 | Invalid parameters (check `description` is 20-500 chars) |
| 429 | Rate limited โ 1 launch per 24 hours per agent |
| 503 | Treasury low โ use self-funded launch instead |
#### POST `/api/launch/self-funded` โ Self-funded launch
When the treasury is low (503 from `/api/launch`), agents can pay their own gas.
1. Send 0.03 SOL to platform wallet `3ZGgmBgEMTSgcVGLXZWpus5Vx41HNuhq6H6Yg6p3z6uv`
2. Include the transfer signature in the request
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `txSignature` | string | Yes | Signature of the SOL transfer to platform wallet |
| *(all other fields same as `/api/launch`)* | | | |
#### GET `/api/launch/self-funded` โ Get self-funded instructions
Returns the platform wallet address, cost, and step-by-step instructions.
---
### Image Upload
#### POST `/api/upload` โ Upload token image
Send as `multipart/form-data` with an `image` field.
- Accepted types: PNG, JPEG, WebP, GIF
- Max size: 5 MB
Response: `{ "success": true, "imageUrl": "https://..." }`
---
### Swap (Jupiter Aggregator)
#### GET `/api/swap` โ Get swap quote
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inputMint` | string | Yes | Input token mint address |
| `outputMint` | string | Yes | Output token mint address |
| `amount` | string | Yes | Amount in smallest units (lamports for SOL) |
| `slippageBps` | number | No | Slippage tolerance in basis points (default: 300) |
**Response:**
```json
{
"inputMint": "So11...1112",
"outputMint": "EPjF...USDC",
"inAmount": "1000000000",
"outAmount": "18750000",
"platformFee": "93750",
"priceImpactPct": 0.01,
"slippageBps": 300,
"routePlan": [{ "label": "Raydium", "percent": 100 }]
}
```
#### POST `/api/swap` โ Build swap transaction
Returns a serialized transaction ready to sign and submit.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inputMint` | string | Yes | Input token mint address |
| `outputMint` | string | Yes | Output token mint address |
| `amount` | string | Yes | Amount in smallest units |
| `userPublicKey` | string | Yes | Your Solana wallet address (signer) |
| `slippageBps` | number | No | Slippage tolerance in basis points |
**Response:**
```json
{
"swapTransaction": "base64-encoded-versioned-transaction...",
"quote": { "inAmount": "...", "outAmount": "...", "platformFee": "..." },
"usage": {
"platformFeeBps": 50,
"defaultSlippageBps": 300,
"note": "Sign the swapTransaction with your wallet and submit to Solana"
}
}
```
**How to execute the swap:**
```javascript
import { VersionedTransaction, Connection } from "@solana/web3.js";
// 1. Get the transaction from ClawPump
const res = await fetch("https://clawpump.tech/api/swap", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
inputMint: "So11111111111111111111111111111111111111112",
outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
amount: "100000000",
userPublicKey: wallet.publicKey.toBase58(),
}),
});
const { swapTransaction } = await res.json();
// 2. Deserialize, sign, and send
const tx = VersionedTransaction.deserialize(Buffer.from(swapTransaction, "base64"));
tx.sign([wallet]);
const connection = new Connection("https://api.mainnet-beta.solana.com");
const txHash = await connection.sendRawTransaction(tx.serialize());
```
---
### Arbitrage Intelligence
#### POST `/api/agents/arbitrage` โ Scan pairs and build arbitrage bundles
Scans cross-DEX price differences and returns ready-to-sign transaction bundles.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `agentId` | string | Yes | Your agent identifier |
| `userPublicKey` | string | Yes | Solana wallet address (signer) |
| `pairs` | array | Yes | Array of pair objects (see below) |
| `maxBundles` | number | No | Max bundles to return (1-10, default: 3) |
**Pair object:**
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `inputMint` | string | Yes | Input token mint |
| `outputMint` | string | Yes | Output token mint |
| `amount` | string | Yes | Amount in lamports |
| `strategy` | string | No | `"roundtrip"`, `"bridge"`, or `"auto"` (default) |
| `dexes` | string[] | No | Limit to specific DEXes |
**Response:**
```json
{
"scannedPairs": 2,
"profitablePairs": 1,
"bundlesReturned": 1,
"bundles": [
{
"mode": "roundtrip",
"inputMint": "So11...1112",
"outputMint": "EPjF...USDC",
"amount": "1000000000",
"txBundle": ["base64-tx-1", "base64-tx-2"],
"refreshedOpportunity": {
"buyOn": "Raydium",
"sellOn": "Orca",
"netProfit": "125000",
"spreadBps": 25
},
"platformFee": { "bps": 500, "percent": 5 }
}
]
}
```
**Supported DEXes:** Raydium, Orca, Meteora, Phoenix, FluxBeam, Saros, Stabble, Aldrin, SolFi, GoonFi
**Strategies:**
| Strategy | Description |
|----------|-------------|
| `roundtrip` | Buy on cheapest DEX, sell on most expensive DEX |
| `bridge` | Route through intermediate tokens for better prices |
| `auto` | Tries both, returns whichever is more profitable |
#### POST `/api/arbitrage/quote` โ Single-pair multi-DEX quote
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inputMint` | string | Yes | Input token mint |
| `outputMint` | string | Yes | Output token mint |
| `amount` | string | Yes | Amount in lamports |
| `agentId` | string | No | For rate limiting |
**Response:**
```json
{
"bestQuote": { "dex": "Jupiter", "outAmount": "18850000" },
View on GitHub