POST /classic/initialize
Create a new group of classic bots for the selected packages.
Only one pending group can exist at a time per client — starting a new one replaces any previous unpaid group.
Pricing comes from packages, not free-form SOL amounts (see
/classic/packages).
Use case
User picks one or more packages from a product page, you submit the
ids + token/pool, and display the resulting sGroupId + deposit
address to fund.
Body
| Field | Type | Required | Description |
|---|---|---|---|
aSelectedPackageIds | ObjectId[] | yes | 1–20 standard package ids (see /classic/packages). |
aSelectedMicroIds | ObjectId[] | no | Up to 20 micro-package ids. |
sTokenAddress | string | yes | Token mint the bots trade. |
sPoolId | string | yes | Pool the bots trade against. |
ePoolChosen | string | yes | Pool type: RAYDIUM, METEORA, PUMPFUN, PUMPSWAP, LAUNCHLAB, DBC, MOONIT, MOONSHOT, HEAVEN. |
sMode | string | yes | Controls how long the bot runs: FAST (shortest), NORMAL (~2× longer), STEADY (longest — single wallet, largest swap sizes). |
Response 200
{ "message": "Bots initialized", "sGroupId": "<13-char-id>" }
Errors
| Status | Meaning |
|---|---|
400 | Validation failed or package ids not found. |
500 | Pool validation or persistence failed. |
Example
curl -X POST "$BASE_URL/classic/initialize" \
-H "Authorization: Bearer $ACCESS" \
-H "x-user-id: $USER_ID" \
-H "Content-Type: application/json" \
-d '{
"aSelectedPackageIds": ["<pkgId>"],
"sTokenAddress": "<mint>",
"sPoolId": "<pool>",
"ePoolChosen": "RAYDIUM",
"sMode": "NORMAL"
}'