Batch transfer (SOL + SPL + Token-2022)
One→one or one→many transfer of native SOL and/or any SPL / Token-2022
token. Accepts either a batched items[] array or the legacy
single-item shorthand.
Items are grouped by sender (one fee payer per tx) and packed into
the fewest possible 1232-byte transactions. The server detects each
mint’s token program via one batched getMultipleAccounts and emits
create_associated_token_account_idempotent + transfer_checked for
non-SOL items.
Replaces POST /api/sol/transfer from public.raze.sh with a batched
shape and Token-2022 autodetection.
Authorizations
Body
Batch transfer. Either pass items[] for the full batched form, or use
the top-level sender / receiver / tokenAddress / amount for the
legacy single-item shape. Items are grouped by sender and packed into
the fewest possible 1232-byte transactions.
Legacy alias for tipLamports — tips the Raze relay wallet.
Custom tip recipient wallet (defaults to the Raze relay tip wallet).
Flat tip in lamports, floored at 100000. Takes precedence over feeTipLamports.
Custom fee recipient wallet. Only charged together with feeBps.
Percentage fee in basis points of the SOL volume this endpoint moves, sent to feeWallet. Endpoints with no SOL volume charge nothing.
Optional priority fee in lamports. When set, compute-budget instructions are added to every output tx.
base64, base58 Optional cap on non-fee instructions per tx. Default = whatever fits the 1232-byte budget.
Response
Transactions built
Shared envelope for every /utils/sol/* write endpoint. Optional
fields are omitted from the JSON when unset.
Serialized partially-signed transactions in submission order.
For batch endpoints (transfer, burn): packing metadata.
batches[i] describes transactions[i].
Set by /utils/sol/launch — the mint of the launched token.
Set by /utils/sol/launch and /utils/sol/fees/claim.
Set by /utils/sol/fees/config for action=status reads.
Set when the request had simulate: true. One entry per built tx,
in the same order as transactions. Each entry is the RPC
simulateTransaction value object (logs / unitsConsumed / err).
