Multi To Multi Relay
Multi To Multi Relay moves SOL or one SPL token across many paired wallets at once, where each source-to-destination pair travels through its own chain of freshly generated relay wallets instead of a direct send. You map source row one to destination row one, row two to row two, and so on down the list.
Multi To Multi Relay j.tools/en/tools/multi-to-multi-relay
Open toolPlatform fee
0.00023 SOL per relay hop
Network fee, rent and transaction value are separate.
When this tool fits
#when-this-tool-fits- You have many source wallets that each need to reach a specific destination through controlled relay hops, not a shared sender or a single drop wallet.
- You are running a large multi-wallet distribution or airdrop and want pair-by-pair and hop-by-hop progress before and during the run.
Before you start
#before-you-start- A source wallet private key for each source row. This tool reads raw keys directly. A connected wallet is optional: it only fills the token picker with your wallet’s tokens, and it never signs or pays for a hop.
- A list of destination addresses, exactly one per source row. The two counts must match or the run is blocked.
- For an SPL run, the token’s mint address (pick it with the built-in token selector) and Fixed amounts. All and Percentage modes do not work for SPL. If you are unsure which token standard you are routing, the SPL vs Token-2022 note explains the difference.
- Enough SOL in each source. A SOL source pays its amount plus its own hop fee, and each relay wallet pays its hop fee (platform, network and priority) out of what it forwards, so the destination receives less than the source sends. SPL runs need more, because each relay wallet is first seeded with SOL for its fees and token-account rent.
Use only short-lived operational wallets; never enter a seed phrase or a long-term wallet key.
How to use it
#how-to-use-it-
Import sources and destinations
Choose SOL, or pick an SPL token with the selector. Click Add Source Wallets to paste your source private keys, then Add Destinations to paste the destination addresses, one per source and in the same order.
-
Set relay depth and delay
Set the amounts first: apply a bulk amount mode to every source at once, or tune each pair by hand. Choose the global relay depth with a preset or a custom value, and override it for any single pair if needed. Pick a fixed or random delay between hops, from 0 to 120 seconds, and an optional priority fee.
-
Execute and watch every pair
Check total pairs, total operations (the sum of depth plus one across every pair), the estimated network fee, the platform fee, and the total cost. Click Execute Multi Relay. One recovery
.xlsxwith the relay wallets of every pair downloads first, then the pairs run one at a time, hop by hop, in the progress table.
Key settings
#key-settings- Token type: SOL or SPL. SOL drains each hop forward; SPL seeds each relay wallet with SOL for fees, then forwards the token amount.
- Token mint: Required for SPL. The mint of the token to route, chosen with the token picker. Ignored for SOL.
- Source rows: One private key per source, up to 1000 rows; a longer list stops the run before anything moves. Each carries its own amount mode and value, and an optional per-pair relay depth.
- Amount mode (per row): All sends the full balance minus the source’s own hop fee. Fixed sends an exact amount above zero; a Fixed row left at 0 stops the whole run. Percentage sends a share of the balance, above 0 and up to 100. SPL supports Fixed only.
- Destination wallets: One address per source row, paired by position. Counts must match, and each must be a valid Solana public key.
- Relay count (global): The default hop depth applied to every pair. Presets and the slider reach up to 2500, and a custom value reaches 5000. Per pair, total hops equal relay count plus one.
- Relay count (per row): Optional override for a single pair’s depth, from 1 to 5000. Falls back to the global value when unset.
- Delay mode: Fixed waits a set number of seconds between hops, and between one pair and the next; random samples a wait between a minimum and maximum. Keep each value between 0 and 120 seconds, because a longer delay stops the run before it starts.
- Priority fee: An extra fee added per transaction to prioritize it during congestion: None, Normal, Fast, Express, or Custom. Default is None.
Fees and costs
#fees-and-costs| Cost | Amount |
|---|---|
| J Tools platform fee | 0.00023 SOL per relay hop |
| Solana network fee | Paid to validators during the transaction; shown in the live summary. |
| Rent and transaction value | Shown separately when required; not part of the platform fee. |
Before you sign
#before-you-signCheck the live summary before signing. The app is the current source of truth for amount, fee and route.
Common issues
#common-issues- Source and destination counts do not match. The run is blocked until both lists are the same length. Line them up in the same order, one destination per source.
- A hop failed mid-run. That pair stops at the first failure, its remaining hops are counted as failed without running, and its funds rest in the last wallet that received them. The other pairs keep going. Recover the stranded funds with the downloaded
.xlsx. The tool does not auto-retry or auto-recover. - Not enough source SOL. A SOL pair checks that its source covers the amount plus its own hop fee. SPL runs need more, because each relay wallet is seeded for fees and account rent. An underfunded source fails its own pair with an insufficient-balance error, and the other pairs still run.
- SPL with All or Percentage. Those modes would need the token balance, which this tool does not read, so an SPL pair set to either one fails and the other pairs keep going. Switch the SPL rows to Fixed amounts.
Practical tips
#practical-tips- Start with a small pilot. Run a handful of pairs at a shallow depth first to confirm your source keys, destinations, and amounts line up, then scale to the full matrix.
- Mind the operation count. A deep relay count across many pairs can reach tens of thousands of transactions, each with its own fee and delay, and the pairs run one after another, so check the summary before you commit.
- Use per-pair depth overrides. Set a sensible global depth, then raise the depth only on the pairs that need more separation, instead of inflating every route and paying for hops you did not need.
Related tools
#related-toolsHelp
#helpThe tool on this page
Multi To Multi Relay
j.tools/en/tools/multi-to-multi-relay
- Platform fee
- 0.00023 SOL per relay hop
- Network fee, rent and transaction value are separate.
© 2026 J Tools