Skip to main content

Split SOL

Splits SOL from one managed wallet into up to five destination wallets.

POST /v1/sol/split/execute

Request

FieldTypeRequiredNotes
source_walletstringNoManaged source wallet. Default wallet is used when omitted.
total_percentnumber/stringNoDefaults to 100. Percentage of spendable balance to transfer.
fee_reserve_lamportsnumberNoDefaults to 5000. Additional Sender-tip and priority-fee reserve is added by the server.
destinationsarrayYesMinimum 1, maximum 5.
confirmbooleanNoDefaults to true.

Each destination must include wallet. It may include either percent or sol, but not both. If neither is supplied, the remaining amount is split equally among those destinations.

Equal Split

const split = await solanaLaser("/v1/sol/split/execute", {
destinations: [
{wallet: "DESTINATION_1"},
{wallet: "DESTINATION_2"}
],
confirm: true,
});

Mixed Split

const split = await solanaLaser("/v1/sol/split/execute", {
source_wallet: "MANAGED_SOURCE_WALLET",
total_percent: 50,
destinations: [
{wallet: "DESTINATION_1", sol: 1},
{wallet: "DESTINATION_2", percent: 20},
{wallet: "DESTINATION_3"}
],
});

Response

{
"source_wallet": "MANAGED_SOURCE_WALLET",
"source_balance_lamports": 10000005000,
"fee_reserve_lamports": 5000,
"spendable_lamports": 10000000000,
"transfer_total_lamports": 5000000000,
"transfer_total_sol": "5.000000000",
"transfers": [
{
"wallet": "DESTINATION_1",
"lamports": 1000000000,
"sol": "1.000000000",
"mode": "fixed"
}
],
"signature": "SOLANA_SIGNATURE",
"confirmed": true,
"confirmation_status": "confirmed"
}

fee_reserve_lamports in the response is the effective reserve, including the requested reserve, the Sender tip, and the transaction priority fee.