Adding Exchange API Keys
Create a trading-only API key on your exchange and store it with /secrets action:set.
Your API key lives on your own bot instance, encrypted at rest. It's never sent to any Ionide-operated service. Jump to the exchange on your license:
| Exchange | Passphrase required | Spot/futures keys |
|---|---|---|
| Bitget | Yes | One key covers both |
| MEXC | No | Separate keys |
| OKX | Yes | One key covers both |
| Kraken | No | Separate keys |
The rule: trading yes, withdrawals never
Ionide only needs trading permissions to place spot and futures orders. It never needs, and will never ask for, withdrawal permissions. If the exchange's key form has a withdrawal toggle, leave it off.
Bitget
- Go to API Management in your Bitget account settings.
- Create a new key and enable Spot Trading and Futures Trading permissions.
- Leave Withdraw unchecked.
- Bitget also requires a passphrase you set when creating the key. Keep it, you'll need it below.
Screenshot/video walkthrough of creating a Bitget API key: coming soon.
MEXC
- Go to API Management in your MEXC account settings.
- Create a key and enable Spot Trading and/or Futures Trading, matching what you plan to run.
- Leave Withdraw unchecked.
- MEXC's spot and futures API keys are separate, so you'll store them separately with
/secrets action:set(see below).
Screenshot/video walkthrough of creating a MEXC API key: coming soon.
OKX
- Go to API Management in your OKX account settings (use the site matching where your account is registered: global or Europe).
- Create a new key and enable Trade permissions.
- Leave Withdraw unchecked.
- OKX also requires a passphrase you set when creating the key. Keep it, you'll need it below.
Screenshot/video walkthrough of creating an OKX API key: coming soon.
Kraken
- Go to API Management in your Kraken account settings.
- Create a key and enable Query Funds, Query Open Orders & Trades, and Create & Modify Orders for spot and/or futures, matching what you plan to run.
- Leave any withdrawal/transfer permission unchecked.
- Kraken's spot and futures API keys are separate, so you'll store them separately with
/secrets action:set(see below).
Screenshot/video walkthrough of creating a Kraken API key: coming soon.
Storing the key in Discord
Run /secrets action:set in your command center channel and choose the exchange:
bitget: needs API key, secret, and passphrase.mexc-spot/mexc-futures: needs API key and secret (no passphrase).okx/okx-europe: needs API key, secret, and passphrase.kraken-spot/kraken-futures: needs API key and secret (no passphrase).
The bot encrypts what you enter and stores it locally. Values are never echoed back, not even to
you. Check what's configured with /secrets action:status, and verify a key actually works (including
confirming it has no withdrawal permission) with /secrets action:test.
Changing just one setting (e.g. switching testnet on or off) doesn't require retyping the key and
secret — leave api_key/api_secret/passphrase/testnet blank in /secrets action:set and the
bot keeps whatever's already stored for that exchange, only applying the field(s) you actually
passed. The key and secret are still required the first time you set up an exchange.
Rotating or revoking a key
Revoke a key from your exchange's dashboard at any time. The bot will fail to place new trades on
that account but won't touch existing open positions. Run /secrets action:set again with a new key to
replace it, or /secrets action:remove to clear it.
Something look wrong?
If a key stops working, re-run /secrets action:test. It'll tell you if the key is invalid, expired, or
missing a required permission. Reach out on Discord if
you're stuck.