Skip to main content

Laser Bundle

POST /v1/laser/bundle

Builds, signs, and submits an atomic Jito bundle from managed Laser wallets. The request is authenticated once with x-api-key; each leg can optionally select one of that account's managed wallets. The final leg carries the supplied Jito tip; all legs either land together or do not land. The first bundle wallet pays the Jito tip.

Request

FieldTypeRequiredNotes
accountsobject[]Yes1 to 4 bundle legs.
mintstringConditionalRequired for buy and sell legs unless the first leg is create.
jitoTipnumber or stringYesSOL amount paid from the first wallet to a Jito tip account.
confirmbooleanNoDefaults to true; waits up to 30 seconds for Jito status.

Every accounts entry requires type. type is buy, sell, or create. Set optional wallet to a managed wallet public key; omit it to use the account default wallet.

  • buy and sell use amount, optional denominatedInSol (default true), slippageBps (default 200), and optional PumpSwap pool.
  • create uses the same fields as Laser Create: name, symbol, and a required externally hosted uri. It can include initial_buy and slippage to combine creation and the developer buy in one transaction.

sell amounts are token units and must set denominatedInSol: false.

Multi-wallet Buy

const bundle = await solanaLaser("/v1/laser/bundle", {
mint: "TokenMintAddress",
jitoTip: 0.01,
accounts: [
{ wallet: "WALLET_1_PUBLIC_KEY", type: "buy", amount: 0.1, denominatedInSol: true },
{ wallet: "WALLET_2_PUBLIC_KEY", type: "buy", amount: 0.2, denominatedInSol: true },
],
});

Create and Buy

const bundle = await solanaLaser("/v1/laser/bundle", {
jitoTip: 0.01,
accounts: [
{
wallet: "CREATOR_PUBLIC_KEY",
type: "create",
name: "My Token",
symbol: "MTK",
uri: "ipfs://YOUR_METADATA_CID",
initial_buy: 0.5,
slippage: 5,
},
{ wallet: "BUYER_PUBLIC_KEY", type: "buy", amount: 1, denominatedInSol: true },
],
});

The created mint is used automatically by following buy legs. New-token bundle buys must be SOL-denominated; the API maintains a fresh bonding-curve preview between legs so each buyer gets a quote for its actual position in the bundle. Only the first bundle leg receives the supplied Jito tip; later legs carry no Sender or Jito tip.

Response

{
"bundle_id": "JITO_BUNDLE_ID",
"results": [
{ "index": 0, "type": "buy", "wallet": "WALLET_1", "signature": "SIG_1" }
],
"mint": "CREATED_MINT_OR_NULL",
"confirmed": true,
"confirmation_status": "confirmed"
}

All wallets are resolved from the server's encrypted managed-wallet store. The endpoint never accepts private keys or pre-signed transactions.