Every automated trading bot, BotNexis included, connects to an exchange account through an API key rather than a username and password. That single design choice is what makes the safety question answerable in specific terms instead of a matter of trust. The permissions on that key decide exactly what a bot can and cannot do, and a user sets those permissions, not the bot.

What an API key actually is

An API key is a pair of codes generated inside an exchange account that lets an outside program talk to that account without a login password. Every major exchange, including Binance, Kraken and Pionex, lets a user choose exactly which permissions a key carries before it is ever used. Nothing about generating a key hands over the account itself.

The three permissions that matter

Most exchanges group API permissions into three categories, though the exact wording varies by platform.

A trading bot connection only ever needs the first two. Withdraw permission has nothing to do with running a strategy, and it should be left off every single time a key is created.

Security note

If a bot, a support agent, or a setup guide ever asks for withdraw permission, a password, or a seed phrase in order to activate a connection, that is not how a legitimate non-custodial trading bot works. Treat it as a warning sign and stop. See the security page for what we will and will not ask for.

Why withdraw access is the actual line, not the exchange itself

The exchange, not the bot, enforces whatever permissions a key was given. If withdraw access is off, no code running anywhere, including a compromised server, can move funds out of that account through that key. That is the entire basis of a non custodial connection: funds stay under the exchange's own custody and security rules at all times, and a bot only ever gets to place the same kind of orders a user could place manually.

This is also why a strong exchange account password and two factor authentication still matter even when using a trade only key. The API key controls what the bot can do. Account level security still controls who can log in and change those permissions in the first place.

How to actually check a connection is safe

  1. Generate the API key directly inside the exchange's own account settings, never through a link sent by a third party.
  2. Read the permission screen the exchange shows before confirming. Enable read and trade. Leave withdraw off.
  3. Copy the key into the bot's setup screen once. A legitimate setup never asks for it a second time through email or chat.
  4. Check the exchange's own API management page afterward and confirm withdraw still shows as disabled for that key.

The full walkthrough, exchange by exchange, is covered in the setup guide.

What this does not protect against

A correctly scoped API key removes the fund transfer risk, but it does not remove market risk. Permission scope is a custody safeguard, not a performance guarantee. No automated system can promise a specific return.

Can a trading bot withdraw or move my funds off the exchange?+
No, not if the API key is set up correctly. An API key generated with read and trade permissions only cannot withdraw funds or move them to another wallet. That restriction is enforced by the exchange itself, not by the bot. If a service ever asks for withdrawal permission, a password, or a seed phrase to activate a bot, that request should be treated as a serious warning sign.
What is the difference between trade permission and withdraw permission on an API key?+
Trade permission lets a key place and cancel orders inside the account it belongs to. Withdraw permission lets a key move funds out of the account entirely, to another exchange or an external wallet. A properly configured trading bot connection only ever needs read and trade permission. Withdraw permission should always stay off.
Should I be worried if an exchange asks me to confirm API permissions during setup?+
That confirmation step is a good sign, not a bad one. Exchanges show the exact permissions being granted so a user can verify withdraw access is off before finishing setup. Reading that screen carefully, rather than clicking through it, is one of the simplest ways to confirm a connection is safe.