> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gank.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# trading api

> buy, sell, swarm, volume endpoints

# trading api

all trading goes through `/phases/*` routes. wallet type enforcement is strict — you can only use the correct wallet type for each operation.

## regular buy

```
POST /phases/regular/buy
```

<ParamField body="wallet_address" type="string" required>
  must be a `regular` type wallet
</ParamField>

<ParamField body="token_mint" type="string" required>
  target token mint address
</ParamField>

<ParamField body="amount_sol" type="number" required>
  sol to spend
</ParamField>

<ParamField body="slippage_bps" type="number" default="500">
  slippage tolerance (500 = 5%)
</ParamField>

## regular sell

```
POST /phases/regular/sell
```

<ParamField body="wallet_address" type="string" required>
  `regular`, `dev`, or `bundle` type wallet
</ParamField>

<ParamField body="token_mint" type="string" required>
  target token mint address
</ParamField>

<ParamField body="percentage" type="number" required>
  percentage to sell (1-100)
</ParamField>

<ParamField body="slippage_bps" type="number" default="500">
  slippage tolerance
</ParamField>

## swarm buy

multi-wallet parallel buy. uses `swarm` type wallets.

```
POST /phases/swarm/buy
```

<ParamField body="token_mint" type="string" required>
  target token
</ParamField>

<ParamField body="wallets" type="object[]" required>
  array of wallet configs
</ParamField>

<ParamField body="wallets[].wallet_address" type="string" required>
  `swarm` type wallet
</ParamField>

<ParamField body="wallets[].amount_sol" type="number" required>
  sol per wallet
</ParamField>

<ParamField body="wallets[].delay_ms" type="number">
  delay before buy (ms)
</ParamField>

<ParamField body="slippage_bps" type="number" default="500">
  slippage
</ParamField>

## swarm sell

```
POST /phases/swarm/sell
```

sell tokens from multiple swarm wallets.

## consolidate

```
POST /phases/swarm/consolidate
```

sell all tokens on source wallets and transfer sol to a single destination.

<ParamField body="source_wallets" type="string[]" required>
  wallets to consolidate from
</ParamField>

<ParamField body="destination_wallet" type="string" required>
  where sol goes
</ParamField>

<ParamField body="token_mint" type="string">
  specific token to consolidate (optional, all if omitted)
</ParamField>

<ParamField body="sell_tokens" type="boolean" default="true">
  sell tokens before consolidating
</ParamField>

<ParamField body="transfer_sol" type="boolean" default="true">
  transfer sol after selling
</ParamField>

## volume bot

automated buy/sell cycles to generate volume. uses `volume` type wallets.

### start

```
POST /phases/volume/start
```

<ParamField body="token_mint" type="string" required>
  target token
</ParamField>

<ParamField body="wallet_addresses" type="string[]" required>
  `volume` type wallets
</ParamField>

<ParamField body="sol_per_trade" type="number" default="0.0001">
  sol per trade cycle
</ParamField>

<ParamField body="duration_minutes" type="number" default="60">
  how long to run
</ParamField>

<ParamField body="intensity" type="string" default="medium">
  `low`, `medium`, `high`
</ParamField>

### stop

```
POST /phases/volume/stop
```

<ParamField body="token_mint" type="string" required>
  token to stop volume for
</ParamField>

## vamp

sell everything and consolidate all value to one wallet.

```
POST /phases/vamp/execute
```

<ParamField body="source_wallets" type="string[]" required>
  wallets to vamp from
</ParamField>

<ParamField body="destination_wallet" type="string" required>
  where everything goes
</ParamField>

<ParamField body="token_mint" type="string">
  specific token (optional)
</ParamField>

## snipe

```
POST /sniper/execute
```

<ParamField body="wallet_address" type="string" required>
  `snipe` type wallet
</ParamField>

<ParamField body="token_mint" type="string" required>
  target token
</ParamField>

<ParamField body="amount_sol" type="number" required>
  sol to spend
</ParamField>

<ParamField body="slippage_bps" type="number" default="500">
  slippage
</ParamField>
