Hot Wallets vs Cold Wallets: Where Automated Traders Should Keep Funds
If you automate trades, the hot wallet vs cold wallet question stops being theory and becomes an operational decision you make with real money. Automated tradi...
How trading bots store API keys varies wildly — from plain text to KMS-backed envelope encryption. Here's exactly how SignalToExchange encrypts yours, and what to ask any tool before you connect.
Before you connect any automation tool to your exchange account, it's worth asking a question most vendors hope you won't: how do trading bots store API keys? The honest answer across the industry ranges from a plain-text column in a database to hardware-backed envelope encryption — and from the outside, both look identical. Your key works either way. The difference only shows up on the worst day, when a server is breached or a database backup leaks. This post explains how envelope encryption works, why it's the standard we chose at SignalToExchange, and what to ask any tool that wants your keys.
An exchange API key lets software act on your account. Even a properly scoped trade-only key — one that can place orders but never withdraw — is a credential worth protecting: if it leaks, someone can fire unwanted orders against your balance until you revoke it.
Most coverage of API key safety focuses on permissions, and that's the right first step. But permissions only bound the damage of a leak. Storage determines how likely a leak is in the first place. A tool that holds thousands of users' keys in plain text is a single breach away from exposing every one of them at once. That concentration of risk is exactly what good encryption design exists to break up.
Envelope encryption uses two layers of keys instead of one:
The crucial property: the KEK never leaves the KMS. It lives inside hardened, audited infrastructure (often a hardware security module), and the application can only ask the KMS to wrap or unwrap a DEK — it can never read the master key itself.
At rest, the database holds only ciphertext and wrapped keys. Nothing in it can be read without the KMS agreeing to participate.
A simpler design — one encryption key in the application's configuration — is better than plain text, but it has a fatal flaw: anyone who obtains both the database and that one key can decrypt everything. Keys in config files get copied into backups, CI logs, and developer laptops.
Envelope encryption changes the math in three ways:
When you connect an exchange to SignalToExchange, your credential is envelope-encrypted exactly as described above: a unique DEK per credential, wrapped by a KEK in a cloud KMS. Decryption happens only in the memory of the order-dispatch worker, at the moment a signal becomes an order that needs signing. Keys are never written to logs, never sent to your browser, and never stored in plain text anywhere.
Encryption is one layer of a deliberately non-custodial design. Your funds never leave your exchange — we connect with trade-only keys, so the platform places orders and can never withdraw. Even in a worst-case scenario, the blast radius is bounded by the permissions you granted, and you can revoke the key from your exchange dashboard at any time. For the fuller picture of what can and can't go wrong, see our guide on whether it's safe to give a trading bot your API keys.
You shouldn't have to take a vendor's word for it. Scoped permissions are enforced by your exchange; encryption design is something a serious provider should be willing to explain in detail — which is exactly why this post exists. If you want a non-custodial execution layer that treats your API keys as the critical secrets they are, Request access / start your free trial →
Automated trading involves risk. SignalToExchange is execution infrastructure and does not provide financial advice, trading signals, or guarantees of any kind.
Non-custodial execution. Trade-only API keys. Independent infrastructure built for reliability.
Request Early AccessTrade-only API key enforcement. No withdrawal permissions. No custody.