Protecting Your Account
In this article
In this article group
Bankr has two layers of safety controls: wallet-level (applies to every surface) and per-API-key (applies to one key). Both run independently — a transaction must satisfy both to broadcast. If something looks wrong right now, jump to Incident Response below.
Turn On MFA
Start with multi-factor authentication. These are two separate gates, so turn on both:
Your social login: turn on MFA for the X or email account you sign in with. Use a passkey or an authenticator app, not SMS, since SIM-swap attacks can bypass text-message codes.
Your Bankr account: at bankr.bot, click your profile in the lower-left corner and choose Security. Under Multi-factor authentication, click Add passkey, or Set up OTP to use an authenticator app. Require MFA turns on automatically with a passkey; with an authenticator app, switch it on yourself.
Once MFA is on, your passkey or authenticator app is needed to sign in and to loosen any security setting, so even someone who takes over your X account can't get into Bankr or weaken your controls. Tightening a setting never asks for MFA.
Seeing "Protected up to $1,000 a day"?
Bankr is rolling out a safer default for wallets without MFA. If your Security page shows Protected up to $1,000 a day, your wallet is in this mode:
Daily and per-transaction limits start at $500 and go up to $1,000.
Price impact protection starts at 15% and goes up to 25%.
Up to 5 NFT transfers a day.
Arbitrary contract calls are off. Swaps and transfers still work.
Turn on MFA (a passkey or authenticator app) to set your own limits. Each time you loosen a setting, you confirm it with MFA. If you turn MFA off later, the wallet goes back to these limits. Unlinking a login also needs MFA.
If a transaction is refused by one of these limits, that's the protection working, not a bug. Support can't raise it for you; turning on MFA is how you do it. Stuck setting up MFA? See I'm Stuck at the Passkey or MFA Step.
Wallet-Level Controls
Configure at bankr.bot → Security:
Control | What it does |
|---|---|
Pause all transactions | Blocks every outbound transaction until unpaused |
Daily spending limit | Rejects any tx that pushes rolling 24h outflow past the limit |
Per-transaction limit | Rejects any single tx above the limit |
Price impact protection | Rejects swaps that would fill far below market value |
Allow NFT transfers | Caps how many NFTs can leave the wallet in any rolling 24 hours (by count, not price). Turn it off to block every NFT transfer |
Permitted recipients | Restricts transfers and swaps to an allowlist; new entries wait out a cooldown |
Enable arbitrary contract calls | On by default. Turn it off to block raw contract calls (swaps and transfers still work) |
For each control's default and allowed range, see Bankr Terminal controls on docs.bankr.bot.
If you need to loosen a limit for one task, use a timer instead of a permanent change: the protection turns itself back on when the timer ends.
What counts toward the limits: transfers, swaps and contract calls, plus airdrops, token launch dev buys, Polymarket bets, x402 payments, Hyperliquid deposits, LLM credit top-ups, Bankr Club payments and pools.fun swaps. Reverted transactions don't count, and Polymarket counts only what filled.
Fills from limit, stop, DCA and TWAP orders count toward the spending limits too; a fill over a limit waits and retries hourly instead of cancelling the order. Granting an NFT operator approval (such as setApprovalForAll) counts against the NFT setting, so with NFT transfers off, no approval can be used to pull your NFTs out.
Fee recipients follow your Permitted recipients list too. With it on, any new fee recipient, whether you name it at launch or change it later (Transfer fees in the terminal, pools.fun, or asking Bankr), must be on the list and past its cooldown (24 hours by default, changeable next to the list), or it's refused. Permitted recipients is off by default.
Sessions & Devices
Every sign-in shows up under bankr.bot → Security → MFA & Sessions, with the device and location. Log out any session you don't recognise — it takes effect immediately. If you suspect a compromise, use Sign out of all to clear every session at once (including the device you're on).
CLI logins are tracked and can be logged out too, but only from an up-to-date CLI. If a bankr login session is missing from the list, run bankr update and sign in again so the session can be recorded.
API Key Controls
Configure at bankr.bot/api-keys. Enable only the access a key needs (wallet, agent, token launch and LLM gateway access are separate switches), and turn on read-only unless it must transact. New keys are read-write by default.
Read-only mode — strips all write tools from agent sessions
IP allowlist — restricts which IPs can use the key
Recipient allowlist — restricts which addresses the key can send to
Use a Dedicated Agent Wallet
For production agents, use a separate Bankr account with its own API key and wallet. This isolates your personal funds, enables independent controls, and makes key rotation easy.
Incident Response
If you suspect a key or device is compromised:
Pause the wallet at bankr.bot → Security (halts all transactions immediately). Revoking a key alone doesn't stop transactions already under way.
Rotate the key with Rotate Key at bankr.bot/api-keys. The old key stops working immediately and the new one keeps the same settings. Revoke it outright if nothing needs it.
Log out any unrecognised session under Security → MFA & Sessions, or use Sign out of all.
Audit — review recent transactions before unpausing
Remember: Bankr support will never ask for your seed phrase, private keys, or passwords, and will never DM you first. Anyone doing that is a scammer — see How Support Works.
Found a vulnerability? Report it privately — see How Do I Report a Security Vulnerability?
For full details, see Security Best Practices on docs.bankr.bot.