TIDE docs
v1.0.0
Live demo Get help
● Documentation · Flutter · Solana

TIDE
from zip to store.

Everything you need to build, configure, brand and publish your own self-custodial Solana trading wallet with a social feed. Read it top to bottom the first time. After that, press / and search.

v1.0.0Flutter · iOS · Android · WebNo backendSelf-custodial

01What you bought

TIDE is a self-custodial Solana wallet written in Flutter. Users create or import a wallet on their own device, swap tokens through Jupiter, follow any Solana address and see what it did on-chain. You, the operator, set a swap fee that Jupiter pays straight into your own wallet.

Safe defaults

A fresh build charges nothing: the swap fee is off, its rate is 0 and there is no fee wallet. Copy execution and the Realised tab are off too. The package contains no API key, no Firebase settings and no wallet address of anyone else (lib/core/config/runtime_keys.dart, lib/core/monetization/swap_fee_config.dart).

AreaWhat shipsWhere in the code
WalletBIP-39 seed generation and import, AES-256-GCM vault in the Keystore / Keychain (web: vault passphrase, PBKDF2), SOL and SPL balances, receivelib/core/security/, lib/core/solana/
SwapJupiter quotes and execution, slippage control, app fee shown before confirmlib/core/swap/, lib/features/swap/
FeedActivity of wallets you follow, classified from on-chain balance changeslib/core/feed/
Watchlist and profilesUp to 25 followed wallets; counts and dates per wallet, no rankinglib/core/watchlist/, lib/core/profile/
Realised results (optional, off by default)What each followed wallet settled, from confirmed transactions over a stated window; listed in follow order, never rankedlib/core/standing/
NotificationsLocal notification centre; push is an optional hook you wirelib/core/notifications/
RevenueSwap fee, paid by Jupiter into your own wallet, capped at 200 bpslib/core/monetization/, lib/core/swap/
Copy executionA separate module, off by default, gated on the region the user declares (not verified)lib/core/copy/, lib/features/copy/
Operator panelSettings screen for every operator value, with validation and code caps, in your operator build only (TIDE_OPERATOR_PASSCODE)lib/features/admin/admin_screen.dart
No server, by design

TIDE has no backend. Nothing signs on a server, nothing relays a transaction and nothing holds a user's key. Keys are created and kept on the device, and the user's own device submits every transaction.

TIDE feed: swaps by followed wallets, each with a Copy control, on the public demo
The feed is what a trader opens: what the wallets they follow did, read from the chain. Taken on the public demo, which runs on sample data and signs nothing.
TIDE portfolio screen with SOL and SPL token holdings and a total balance
The portfolio screen. Every holding on the demo is labelled (demo); your build shows the real balances of the wallet on the device.

02How it fits together

There is no TIDE server. The app on each device talks to public services directly; you publish one configuration file.

TIDE app (user's device) Vault: Keystore / Keychain web: passphrase + PBKDF2 Feed · Swap · Portfolio Signs on the device Solana RPC Jupiter (quotes, swaps) Dexscreener (prices) Your operator buildTIDE_OPERATOR_PASSCODE tide-config.jsonon your https host Copy as JSON read at start-up (TIDE_CONFIG_URL) Keys and signatures never leave the device. Users' builds have no operator panel.
Architecture of a published TIDE install.

03Pick your path

04What is in the package

Folder or fileWhat it is
lib/All app source. Features live in lib/features/, logic in lib/core/, state in lib/state/, look and feel in lib/ui/.
android/, ios/, web/Platform projects. There is no desktop target.
assets/images/app_icon_1024.pngThe app icon source image.
test/Automated tests (flutter test), including tests that hold the safety rules.
docs/Developer notes in Markdown: install, operator config, earning, compliance, Firebase, architecture.
pubspec.yamlPackage list and version (1.0.0+1).
You provide

Apple and Google developer accounts, a domain and hosting if you publish the web build, your own Solana RPC endpoint (recommended), your own terms and privacy pages, and a Solana wallet to receive the fee. None of these are part of the purchase.

05Try it before you install

The live demo is the real web build: tide-demo.mikodes.com. There is no account and no e-mail; a wallet you create there lives only in your browser. Treat it as a throwaway wallet.

TIDE welcome screen on a phone
Welcome screen

06How to read these docs

  • Dark boxes are commands. Press Copy in the corner and paste them into a terminal.
  • Grey text after # is an explanation. The Copy button leaves it out.
  • Text in angle brackets, like <your-domain>, is a placeholder. Replace it, brackets included.
  • Paths start at the unzipped folder. lib/core/… means the core folder inside lib.
  • Required marks steps you cannot skip before a public release.
  • Not active in this version marks settings that exist but do nothing yet. They are listed so you are not surprised by them.