Skip to main content
POST/trading/instant/sell
Exit token positions from a single wallet or up to 100 wallets simultaneously. Each wallet signs its own transaction independently. Transactions target the same block for consistent execution.

Quick Start

curl -X POST https://api.launchpad.trade/trading/instant/sell \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tokenAddress": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr",
    "privateKeys": ["YOUR_PRIVATE_KEY"],
    "amount": {
      "type": "PERCENT",
      "mode": "FIXED",
      "value": 100
    }
  }'
Priority fee defaults to FAST (0.00015 SOL). See all parameters, amount types, and amount modes below.

Parameters

Required

ParameterTypeDescription
tokenAddressstringSolana token address to sell
privateKeysstring[]Private keys of the wallets. Min 1, max 50. Required for all modes except CUSTOM
amountobjectAmount configuration. See Amount Types and Amount Modes below

Conditional

ParameterTypeDescription
walletsobject[]Wallets with individual amounts ({ privateKey, amount }). Required when amount.mode is CUSTOM — replaces privateKeys

Optional

ParameterTypeDefaultDescription
priorityFeeobjectFAST (0.00015 SOL)Transaction priority level. See Priority Fee
platformTagobject | falseNo attributionTag transactions with a DEX source. See Platform Attribution

Amount Types

Sell amounts require a type field that determines the unit.
TypeUnitDescription
PERCENT0.01 – 100Sell a percentage of your token balance
TOKENToken countSell a specific number of tokens
PERCENT is convenient — just specify a percentage of your balance. TOKEN is faster but requires the exact token count.
When you sell 100% of a token, the Associated Token Account (ATA) is closed automatically and the rent SOL (~0.002 SOL) is returned to your wallet.

Amount Modes

Three modes to control how sell amounts are distributed across wallets.
Each wallet sells the same amount.Sell 100% of tokens:
{
  "amount": {
    "type": "PERCENT",
    "mode": "FIXED",
    "value": 100
  }
}
Sell 1,000,000 tokens:
{
  "amount": {
    "type": "TOKEN",
    "mode": "FIXED",
    "value": 1000000
  }
}
Unlike buy, there is no TOTAL mode for sell — splitting a total does not apply when selling existing token balances.

More Examples

Three wallets selling random percentages with platform attribution cycling through a list.
curl -X POST https://api.launchpad.trade/trading/instant/sell \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tokenAddress": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr",
    "privateKeys": ["PRIVATE_KEY_1", "PRIVATE_KEY_2", "PRIVATE_KEY_3"],
    "amount": {
      "type": "PERCENT",
      "mode": "RANGE",
      "min": 50,
      "max": 100
    },
    "priorityFee": {
      "mode": "FAST"
    },
    "platformTag": {
      "platform": ["PHOTON", "AXIOM", "NONE"]
    }
  }'
Full control over each wallet’s sell amount. Uses the wallets array instead of privateKeys.
curl -X POST https://api.launchpad.trade/trading/instant/sell \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tokenAddress": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr",
    "wallets": [
      { "privateKey": "PRIVATE_KEY_1", "amount": 25 },
      { "privateKey": "PRIVATE_KEY_2", "amount": 50 },
      { "privateKey": "PRIVATE_KEY_3", "amount": 100 }
    ],
    "amount": {
      "type": "PERCENT",
      "mode": "CUSTOM"
    },
    "priorityFee": {
      "mode": "ULTRA"
    }
  }'
Each wallet sells a different percentage — 25%, 50%, and 100% respectively.

Response

{
  "success": true,
  "data": {
    "transactions": [
      {
        "wallet": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
        "signature": "5UfDuX7nPqR3kLm8vYz...",
        "status": "confirmed",
        "slot": 234567890,
        "networkLatency": 37,
        "confirmLatency": 460,
        "tokensSold": 5000000000,
        "solReceived": 2.35
      },
      {
        "wallet": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
        "signature": "3KmPqYvRs8T2nBx7wQp...",
        "status": "confirmed",
        "slot": 234567890,
        "networkLatency": 34,
        "confirmLatency": 445,
        "tokensSold": 3000000000,
        "solReceived": 1.41
      }
    ],
    "summary": {
      "totalWallets": 2,
      "successful": 2,
      "failed": 0,
      "totalTokensSold": 8000000000,
      "totalSolReceived": 3.76
    }
  }
}

Errors

{
  "success": false,
  "error": {
    "code": "INVALID_TOKEN",
    "message": "Invalid token address"
  }
}
CodeMessageCause
INVALID_TOKENInvalid token addressToken address is not a valid Solana address
INVALID_WALLETInvalid private keyOne of the private keys is malformed
INVALID_AMOUNTInvalid amount configurationAmount type, mode, value, or range is invalid
INSUFFICIENT_TOKENSInsufficient token balanceWallet does not hold enough tokens
RATE_LIMITRate limit exceededToo many requests — see Rate Limits
INTERNAL_ERRORInternal server errorRetry or contact support

Notes

Call Initialize Wallets before your first trade for optimal speed. Without initialization, the first swap from each wallet will have extra latency due to automatic setup. This is a one-time cost of ~0.01 SOL per wallet, recovered automatically when no longer used.
  • Each wallet needs enough SOL to cover the priority fee even when selling tokens

What’s Next?

Buy Tokens

Purchase tokens with one or multiple wallets

Priority Fee

Configure transaction speed and cost

Platform Attribution

Tag transactions with a DEX source

Initialize Wallets

Optimize speed for your first trade