Custom Bundle
Add liquidity and buy from many wallets in one coordinated execution.
Custom Bundle launches a token you own that isn't trading yet. In one run it whitelists your bundle wallets, calls your contract's open-trading function, and buys from every bundle wallet right after. On Robinhood Chain the buys are broadcast one after another as soon as trading opens. The sequencer is first-come-first-served, so they land in that order.
- A deployed ERC-20 that isn't trading yet, with an owner-only function that opens trading. Tokens from Deploy Token qualify.
- The initial liquidity (ETH and tokens) already sent to the contract.
- The Deployer (owner) private key, and a Master wallet with enough ETH for every buy, gas and the service fee.
The wizard has six steps: Token → Keys → Recipients → Distribute → Review → Execute. You can open any step at any time, and each button checks you have what it needs. The URL keeps ?bundle=<id>, so if you leave, a banner offers to Continue → your unfinished bundle. You can also reopen it from Manage.
Step 1 — Token
- Token contract address: a live preview shows name, owner, the ETH and tokens on the contract, and the pair status.
- Max Tx % (default 1): the share of supply each bundle wallet aims to buy. It also sets how much ETH Master needs.
- Randomize buy amounts (0–50 %, default 15): each wallet buys a random amount between (100 − x)% and 100% of its Max Tx target, so the launch doesn't show N identical buys that bundle scanners flag instantly. 0 makes every wallet buy exactly the target. Wallets are still funded for the full target, so nothing comes up short.
- Contract trading function: the default is
enableTrading(). Other presets areopenTrading(),openTrade(),OpenTrade(),launch(),startTrading(),StartTrading(),startTrade()andactivate(). Choose ✎ Custom function name... for anything else. It must take no arguments. - Pre-launch whitelist function (optional): use this if your contract blocks non-whitelisted buyers at launch. Find in My Contract searches the bytecode for common names with the
(address[],bool)signature, such asconfigureLaunchandwhitelistBundle. - Service fee tier: see Fees.
Step 2 — Keys
Paste the Deployer (Owner) key and click Check Ownership. You get ✓ Ownership confirmed, or a warning if the key doesn't match the owner the contract reports. Paste the Master key and click Use this wallet. Keys can have the 0x prefix or not.
Step 3 — Recipients
- Generate new wallets or Import my wallets. Generate creates fresh wallets on the server. Import takes your own private keys, one per line (with or without
0x, up to 100); they are encrypted and stored like generated wallets and buy in the order pasted. Imported wallets that already hold ETH count toward funding, so you can use Skip (already funded) on step 4. - Number of wallets: 1–100 (default 35). With Import, it is the number of keys pasted.
- Initial liquidity ETH (default 1) and Token % (default 80): what you will have seeded into the contract. Used to price the buys.
- Generate N Wallets creates the bundle wallets on the server and adds your tier's service wallets at the end. Regenerating replaces them, and is refused while any old generated wallet still holds ETH (imported wallets are yours and keep their keys, so they don't block it).
- The cost box prices each wallet in order against the pool (progressive cost) and compares the total with Master's balance. It includes 0.03 ETH per wallet for gas (the buy and a later sell).
- Show key reveals a bundle wallet's key after you confirm once. Service wallet keys are never shown.
Step 4 — Distribute
Fund wallets sends one Multicall3 transaction from Master that gives every wallet its exact amount plus 0.03 ETH per wallet (buy + a later sell) for gas. The bundle becomes funded, which Execute requires.
Step 5 — Review
Check the token, trading function, Deployer, Master, wallet count and funding status. 🧪 Simulate Bundle dry-runs three calls without gas or keys: the whitelist call, the open-trading call, and a 0.001 ETH sample buy. The sample buy usually shows expected — trading not open yet, because it runs against the current state.
Step 6 — Execute
Above Simulate Bundle a balance check shows whether the Deployer can pay gas for the launch transactions and the Master can pay the service fee, with Refresh balances. Execute stays disabled while the Deployer is short. A Master warning can be ignored if a previous attempt already paid the fee: it is charged only once.
- Service feeMaster pays the tier fee to the TokenBundle treasury in a separate transaction first. It needs the fee + 0.0001 ETH. The fee is charged once: if you retry, it is not charged again.
- Whitelist and open tradingIf a whitelist function is set, all bundle wallets are whitelisted. Then the open-trading function is called. If the contract has a whitelist function you didn't set, Execute stops and tells you which one to add.
- Buys, in orderBuys are broadcast one after another: your wallets first, service wallets last. Each wallet buys exactly its Max Tx % of supply, priced against the real pool after open, with a 10% tolerance on the minimum output. The rest of its ETHstays in the wallet for a later sell.
- DoneYou get X/N buy(s) succeeded, a hash or error per wallet, and Open Terminal →. The launch appears in Overview with its PNL.
Bundle lifecycle
draft → wallets_generated → funded → executed. An executed bundle can't be reopened. You can delete a bundle from Manage only once every bundle wallet is empty.