How DevBundler Stores Wallet Keys (and What That Means for You)
A plain explanation of DevBundler's custodial key model: how keys are encrypted, why the server signs for you, and how to limit what you trust it with.
By DevBundler Team · · 4 min read
The short answer
DevBundler is custodial for the wallets you use in it. It stores their private keys on its server, encrypted with AES-256-GCM under a key derived from your password (argon2id) plus a server secret, and its server signs launches and trades for you. That is what makes one-click bundles possible, and it means you should keep only what you need in those wallets.
Key takeaways
- DevBundler generates wallets or imports your keys, and stores the private keys encrypted on its server.
- Keys are encrypted with AES-256-GCM, using a key derived from your password with argon2id plus a server secret.
- The server signs launches and trades for you, which is why bundles and multi-wallet sells take one click.
- Keys never appear in logs, exporting one needs your password again, and an exported key is shown for 10 seconds.
- Custodial means you are trusting DevBundler with those wallets, so keep balances small and sweep profits out.
Short answer: DevBundler holds the private keys of the wallets you use in it, encrypted, on its own server, and its server signs for those wallets when you launch or trade. It is a custodial tool. This post explains exactly what that means, why we built it that way, and how to use it without trusting it with more than you need to.
We would rather you read this before your first launch than find out later.
Why does a bundler need your keys?
A Jito bundle is a set of fully signed transactions handed to a block engine together. On a pump.fun launch, that can mean the create transaction, the dev buy and buys from up to 10 more wallets, all packed into five transactions. Every wallet that buys has to sign before anything is sent.
There are only a few ways to get eleven signatures in a second or two:
| Approach | Who signs | What it feels like |
|---|---|---|
| Approve each wallet in a browser wallet | You, one prompt at a time | Slow, and clumsy with many wallets |
| Run a script with key files on your machine | Your computer | Fast, but you manage the keys, the code and the machine |
| Hosted app holding encrypted keys | The app's server, for you | One click, from any browser |
DevBundler is the third kind. The server signs, so a launch is one confirmation and selling across eleven wallets is one button. The same goes for the trading bar on the dashboard, where you tick wallets and press a preset. That speed is the reason the keys live where they do. Browser wallet vs hosted bundlers compares the models in more depth.
How the keys are stored
When you generate wallets in DevBundler, or import keys you already have, each private key is encrypted before it is stored.
Private key
generated in the app or imported by you
Your password + server secret
argon2id derives an encryption key from them
AES-256-GCM
the private key is encrypted with that derived key
Stored encrypted
only the encrypted form is saved on the server
A few specifics:
- AES-256-GCM is a widely used authenticated encryption mode. It keeps the key secret and also detects if the stored data was tampered with.
- argon2id is a password hashing function designed to be slow and memory hungry, which makes guessing a password from stolen data expensive.
- A server secret is mixed in, so the stored data on its own is not enough to derive the encryption key.
- Keys never appear in logs. They are not written out when transactions are built, sent or fail.
What protects export and sessions
Two controls sit around the stored keys inside the app itself.
12+
characters required for an account password
10 seconds
an exported key stays on screen
Exporting a key asks for your password again, even if you are already signed in, and then shows the key for 10 seconds. Someone who walks up to an unlocked laptop cannot simply copy every key out. Sessions also lock automatically after a period of inactivity.
Exporting and backing up wallet keys covers what to do with an exported key once you have it.
What custodial really means
Here is the honest part. Encryption at rest protects stored keys. It does not change the basic fact that the server has to be able to use a key in order to sign with it. When you launch or trade, DevBundler's server is signing for your wallets. So you are trusting DevBundler, its code, its infrastructure and its people, with the wallets you use in it.
We are not going to tell you that nothing could ever go wrong. No hosted service can honestly promise that, and you should be wary of any that does.
What the custodial model gives you
- One-click bundled launches with up to 11 wallets
- Selling or buying across many wallets in one action
- Works from any browser, no key files to manage
- Keys encrypted at rest, never logged, export behind your password
What it costs you
- You are trusting DevBundler's server with those wallets
- An attacker who took over your account login could act on those wallets
- It is not the same as keys that never leave your own device
How to use it without overtrusting it
The way to live with a custodial tool is to decide how much you trust it with, and keep it to that.
Sensible limits
- Never import your main wallet. Use wallets made for launching.
- Fund launch wallets with what the next launch needs, not more.
- Sweep profits out to a wallet you hold yourself once you stop trading a coin.
- Use a unique password of 12+ characters, stored in a password manager.
- Export and back up keys for any wallet you would mind losing access to.
If a wallet in DevBundler only ever holds one launch's worth of SOL, then the amount you are trusting the service with at any moment is one launch's worth of SOL. That is a trade many devs are comfortable with in exchange for the speed. If you are not, a self-hosted script or a browser-wallet flow keeps the keys with you, at the cost of more manual work. How to keep launch wallets safe has the full routine.
Questions worth asking any bundler
Whatever tool you use, these are fair questions to put to it, and the answers for DevBundler are above:
- Who holds the keys, and in what form?
- Who signs transactions, and when?
- Can you get your keys out, and what does it take?
- What happens to keys in logs and error reports?
- What does the tool tell you about the risk, in writing?
A tool that is vague on these is telling you something.
Frequently asked questions
›Is DevBundler custodial?
Yes, for the wallets you create or import in it. Their private keys are stored encrypted on DevBundler's server, and the server signs transactions for you. Your other wallets are not affected.
›How are private keys encrypted on DevBundler?
Each key is encrypted with AES-256-GCM. The encryption key is derived from your account password using argon2id, combined with a secret held by the server.
›Can I get my private keys out of DevBundler?
Yes. You can export any wallet's key after entering your password again. The key is shown for 10 seconds so you can copy it into a backup or another wallet.
›Why does a bundler need my private keys at all?
A Jito bundle has to be fully signed before it is sent, by every wallet buying in it. Something has to sign for 11 wallets at once. In DevBundler that is the server, which is why it holds the keys.
›Should I import my main wallet into DevBundler?
No. Import or generate wallets for launching only, fund them with what a launch needs and sweep profits back to a wallet whose key stays with you.
Keep reading
How to Keep Your pump.fun Launch Wallets Safe
Practical wallet safety for pump.fun launches: separate your main wallet, fund only what a launch needs, sweep profits out and lock down the account you launch from.
· 5 min read
Exporting and Backing Up Solana Wallet Keys Safely
How to export a private key from DevBundler, where to store backups so they survive and stay private, and when sweeping funds beats exporting a key at all.
· 5 min read
Browser Wallet vs Hosted Bundlers: Who Holds Your Keys?
Browser-wallet and hosted pump.fun bundlers differ in who holds your launch wallet keys. Here is what each custody model means for speed, safety and control.
· 5 min read