SolstackDocs

Tools

Multisender

Send SOL or any SPL or Token-2022 token to a list of wallets, batched into as few transactions as possible, behind a single wallet signature.

Open Multisender ↗Solana Multisender overview

Step by step

  1. Step 1Connect walletThe connected wallet pays the transfers, the network fees, any token-account rent and the Solstack fee.
  2. Step 2Pick the assetSOL, or paste a mint address. Solstack reads the decimals and whether the mint is SPL or Token-2022, and uses the matching program.
  3. Step 3Paste the listOne address, amount per line, or upload a CSV, Excel or text file. Bad rows are listed by line number before anything is built.
  4. Step 4Review the costThe Solstack fee, the network fee, and rent for each recipient that doesn't hold the token yet, checked on-chain before you sign.
  5. Step 5Approve onceOne transaction funds a key made for this send: an approval for exactly the token total (or the SOL itself), plus SOL for rent and fees. It's simulated before your wallet opens, so one that would fail stops with its reason. Solstack's server then signs every batch with that key, 19 SOL or 9 token transfers each, with no further prompts. The send continues if you close the tab.
  6. Step 6Track the jobEvery batch's status and signature is listed live under Distribute → Manage, on any device you sign in on. Cancel from there, and download every recipient's result as a CSV.

When to use it

Use Multisender when you already know who receives what: paying a team or a list of contributors, settling a presale, rewarding a set of addresses from a spreadsheet, or refunding a list of wallets. Amounts can differ per row. If you want to reach every holder of a token instead, Airdrop builds the list from a holder snapshot; if you only want the list, Holder Snapshot exports it without sending anything.

List format

Each line is an address and an amount in normal token units, separated by a comma, a tab or spaces. Blank lines and lines starting with # are skipped, and a first line that names the columns, such as address,amount, is ignored. A CSV upload takes the first two columns of every row and ignores the rest.

  • Amounts are whole tokens, not base units: 0.5 means half a token whatever the mint's decimals.
  • A row with a malformed address, a missing amount or an amount of zero is reported by line number and blocks the send until it is fixed.
  • An address that appears on more than one line blocks the send until you merge the rows into one amount or remove the extras.
  • The amounts are added up and the total is shown on the review screen before you sign.

What each transaction contains

SOL sends are plain system transfers, 19 to a transaction. Token sends need two instructions per recipient: an idempotent create for the recipient's associated token account, which does nothing if the account already exists, and a checked transfer that verifies the mint and decimals on-chain. That is why token batches hold 9 recipients. The review screen shows how many transactions there will be. Your wallet signs once, to fund the job's send key; the key signs the batches, which go out several at a time in parallel, as fast as your RPC accepts them. A free RPC plan takes about one a second, so on mainnet batches also go through Helius Sender, which takes up to 50 a second for a 0.000005 SOL tip per batch, and on devnet through Solana's public RPC as well. The send keeps going if you refresh or leave the page, and picks up again when you reopen Solstack in the same browser.

If a batch fails

A Solana transaction lands in full or not at all, so a failed batch sends nothing to anyone in it, and it's retried. A recipient that can't receive, such as one with a frozen token account, makes its batch fail again, so the batch is split and only that recipient is skipped. Its share never leaves your wallet (for SOL, it's returned to you). If you revoke the approval or move the tokens mid-send, the send waits and asks you to approve again. Nobody is paid twice: each batch is recorded before it's sent and looked up on-chain before anything goes out again.

If the wallet prompt stalls

The funding transaction expires about a minute after it's built. If your wallet approves it later than that, nothing was sent; press Send again. If the wallet window doesn't appear, click the wallet's icon in the browser toolbar, unlock it, and try again.

Video walkthrough

Costs

Solstack fee0.001 SOL per recipient for the first 1,000, 0.0008 up to 5,000, 0.0006 up to 25,000 and 0.00035 after (10,000 recipients: 7.2 SOL), added to the funding transaction as a plain transfer and shown before you sign.
Network feeOne per batch transaction, plus the funding transaction and the final refund. The send's key pays the batch fees from the SOL you fund it with, along with a priority fee of at most 0.00005 SOL a batch when the network is busy and, on mainnet, a 0.000005 SOL tip to Helius Sender. The key is funded at that ceiling, and whatever isn't used is returned.
Token-account rentAbout 0.0015 SOL for each recipient who has no account for that mint yet. It stays in the recipient's account and the sender cannot recover it. The send sets aside 0.0016 per account and returns what it doesn't use.
SOL sendsNo rent: SOL goes straight to the wallet address.
Try it on devnet first with a few rows: the list format, the batching and the review screen are identical, and the faucet covers the cost.

FAQ

What does it cost?

0.001 SOL per recipient for the first 1,000, 0.0008 up to 5,000, 0.0006 up to 25,000 and 0.00035 after, plus network fees and ~0.0015 SOL rent for each recipient without a token account (0.0016 is set aside and the rest comes back).

How many signatures?

One. It funds a key made for this send, and Solstack's server signs every batch with it (19 recipients each for SOL, 9 for tokens).

Can I close or refresh the page?

Yes. Solstack's server sends it, so closing the tab, clearing your browser or switching devices changes nothing. Follow it under Distribute → Manage (sign in to see it on another device). Nobody is paid twice.

Where do my funds go?

Tokens stay in your wallet until they're sent: you approve the send's key to spend exactly the total, and it transfers straight from your wallet to each recipient, so a transfer fee is charged once. For SOL, the amount moves to the send's key first. Either way the key gets the SOL for rent and network fees; Solstack's server holds the key while it sends, and whatever it doesn't use comes back to your wallet at the end.

List format?

One `address, amount` per line, or a CSV.

What if a batch fails?

It's retried. A recipient that can't receive, such as one with a frozen token account, is skipped, and its share never leaves your wallet (for SOL, it's returned to you). If you revoke the approval mid-send, it waits for you to approve again. You can cancel from the job page any time; whatever is left of the approval is revoked for you when a send ends.

Does it create token accounts?

Yes. The rent is part of what you pay up front.

Guides

NextAirdrop →
Your keys stay in your wallet · every job starts with your approval · fees shown before you sign← Back to solstack.xyz