Solana Batch Transfer (devnet)

Connect Phantom, Solflare or Backpack, paste addresses and amounts, and the page bundles the transfers into transactions, creates missing token accounts, and asks your wallet to sign everything in one go.

Transactions are signed in your wallet. This page has no server, keeps no keys and charges no fee. Test networks only. Mainnet: .

What is a Solana batch transfer?

A Solana batch transfer packs many System Program or SPL Token transfer instructions into as few transactions as fit under the 1232-byte packet limit, then asks the wallet to sign them all at once. No contract is deployed: the runtime executes every instruction in a transaction atomically, so each transaction either pays all of its recipients or none. This page runs on devnet only.

Steps

  1. Connect your wallet. If the devnet balance is empty, press Airdrop (the public faucet is rate-limited; faucet.solana.com is the fallback).
  2. Choose SOL or paste a devnet mint address. Decimals and your balance are read from the mint and your token account.
  3. Paste recipients and check the summary: the number of transactions and new token accounts is shown before you sign.
  4. Sign once for each group of up to 10 transactions. The log shows every signature with an explorer link; export the CSV at the end.

How the transactions are built

SOL transfers use SystemProgram transfer instructions. Token transfers use TransferChecked with the mint's decimals, so a wrong decimals value fails on-chain instead of sending the wrong amount. Token accounts are created with the idempotent variant of the Associated Token Account instruction, which is safe to replay. The code builds these instructions directly and does not depend on the spl-token library.

Limits and failure handling

Transactions are sent and confirmed in order. If one fails (expired blockhash, insufficient funds, RPC error) the run stops, the failed recipients are marked in the results table, and you can re-run with only the remaining rows. Already-confirmed transfers are never repeated by the page.

Related: check addresses with the Solana address validator, convert amounts with the lamports converter.

Frequently asked questions

Do I need to switch my wallet to devnet?

The page always talks to the devnet RPC, so transactions are built and sent on devnet regardless of the wallet's display setting. To see the balances and avoid a simulation warning in Phantom, enable Testnet Mode under Settings → Developer Settings.

What happens if a recipient has no token account?

The page checks every recipient's associated token account in advance and adds an idempotent create instruction where needed. You pay the rent (about 0.002 SOL each). Recipients that already hold the token cost nothing extra.

How are transactions split?

Solana transactions are limited to 1232 bytes. Each new recipient adds a 32-byte account plus a few bytes of instruction, so the page packs 18 SOL transfers or 8 token transfers per transaction, then signs them in groups of 10 to stay inside the blockhash validity window.

Can I send to a program-derived address?

Yes for SOL. For tokens the associated token account is derived from the recipient regardless of whether it is on-curve, which is what exchanges and programs expect.

Why does the summary show more transactions than I expected?

Every recipient adds a 32-byte public key to the account list plus an instruction, and token recipients without an associated token account need an extra create instruction and more accounts. The page sizes each transaction so it serializes under 1232 bytes, which is why token batches are smaller than SOL batches.

What about Token-2022?

Supported. The page reads the mint's owning program and uses it for the transfer and account-creation instructions. Mints with transfer hooks or fees may need extra accounts and are not handled.