Skip to main content

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

FieldTypeRequiredDescription
aSelectedPackageIdsObjectId[]yes1–20 standard package ids (see /classic/packages).
aSelectedMicroIdsObjectId[]noUp to 20 micro-package ids.
sTokenAddressstringyesToken mint the bots trade.
sPoolIdstringyesPool the bots trade against.
ePoolChosenstringyesPool type: RAYDIUM, METEORA, PUMPFUN, PUMPSWAP, LAUNCHLAB, DBC, MOONIT, MOONSHOT, HEAVEN.
sModestringyesControls 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

StatusMeaning
400Validation failed or package ids not found.
500Pool 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"
}'