Troubleshooting
problems and their fixes.
Messages you may see, what they mean and what to do, grouped by where they appear. Tip: paste the exact message into the search box.
01Build and tests
tide_theme_test fails after a colour change
A text colour no longer has enough contrast on its background. Adjust the colour in lib/ui/tide_colors.dart (Rebranding).
MissingPluginException or strange errors after changing packages
flutter clean
flutter pub getOn iOS also run pod install --repo-update in ios/.
"Expected to find fonts for (MaterialIcons, packages/cupertino_icons/CupertinoIcons)" during flutter build web
A warning from a plugin, not an error. TIDE's own screens do not use Cupertino icons, so nothing renders blank.
iOS: "No profiles for …" or signing errors
In Xcode select your own Team under Signing & Capabilities and register the bundle ID in your Apple Developer account.
Google Play rejects the bundle as debug-signed
Release is signed with the debug key until you add your own (how).
02Wallet and balances
Web build: SOL loads, token balances do not
The shipped public endpoint (solana-rpc.publicnode.com) refuses the getTokenAccountsByOwner call, and api.mainnet-beta.solana.com refuses any request from a browser. TIDE does not send the refused call and says so on the wallet screen. Fix: Operator panel → Endpoints and credentials → Solana RPC URL with your own endpoint. Android and iOS are not affected by the browser limit.
Balances or history load slowly, or fail with rate-limit errors
Public endpoints are shared and rate-limited. Set your own RPC URL.
I set a Helius API key and nothing changed
In 1.0.0 the Helius key field is stored but not used by any network call. Paste the full Helius URL into Solana RPC URL instead.
The feed does not update by itself
By design. The feed refreshes when you pull to refresh or press refresh, never on a timer: a timer across 25 followed wallets would exhaust a free RPC tier within minutes.
03Fee and earnings
The confirm sheet says "App fee: None"
The fee is off, the rate is 0, or the Solana fee wallet is empty or invalid. Check Operator panel → Swap fee and the warnings under Settings → About.
"Fee disabled: …" in the warnings
The fee guard found a blocking problem (no wallet, malformed address, placeholder-looking address, or a value above its cap). Nothing is charged until you fix it.
A swap fails after I switched the fee on
Check that your fee wallet's token account exists for the token being bought (Earnings → Where the fee lands).
My panel change did not take
Look at In force right now. A value from your hosted document (Remote document) always outranks the panel on a device; change the hosted file instead. With admin_locked the panel is read-only. Your users' builds never read panel values at all.
Setting evm_chain_enabled does nothing
Expected. Base is scaffolded without a quote source in 1.0.0.

04Operator panel
I cannot find or open the operator panel
It exists only in a build made with --dart-define=TIDE_OPERATOR_PASSCODE=… (6 characters or more) and asks for that passcode. A build without it has no Operator entry in Settings, on purpose. After three wrong attempts entry pauses for a few seconds.
The web app asks for a vault passphrase I forgot
Nobody can recover it; it is never stored. On the unlock screen choose Forgot the passphrase?, remove the wallet from this browser, then import the recovery phrase again and choose a new passphrase.
The panel is read-only
Your hosted document sets "admin_locked": true. Change the hosted document, or remove the key.