SOLSCOPE
from zip to your own terminal.
Everything you need to build, configure, brand and publish your own non-custodial Solana token terminal. Read it top to bottom the first time. After that, press / and search.
01What you bought
SOLSCOPE is a non-custodial Solana token terminal written in Flutter. It opens a token page that says what the token actually is — price, liquidity, FDV, holders, top holders, the dev wallet, mint and freeze authority, LP status and whether a sell routes at all — and lets the user swap through Jupiter without leaving the screen. Every figure carries its source.
There is no server. The app talks directly to free public data sources (Jupiter, Dexscreener, GeckoTerminal, a Solana RPC) and, when the user trades, their own wallet signs and the signed transaction goes straight to an RPC endpoint.
A fresh build charges nobody: the fee rate is 0, the fee account is empty and the fee switch is off. There is no default fee recipient anywhere in the source (lib/core/swap/swap_fee_config.dart), and no API key ships with the product.
| Part | Where | What it is |
|---|---|---|
| Terminal app | lib/ | One Flutter app for web, iOS and Android: New pairs, Token, Watchlist, PnL and Setup. |
| Operator console | The Setup tab (lib/features/settings/) | Fee, product switches, slippage, maintenance, block list, RPC, keys. Compiled in only with your operator passcode, and opened only with it. No separate admin app. |
| Admin config contract | One JSON file you host | Configures every install at once (Configuration). |
| Tests | test/ | 509 automated tests, including fee wiring, PnL, the operator gate and demo proofs. |
SOLSCOPE never sees a seed phrase or private key from an external wallet. When the user chooses the in-app account instead, its seed is encrypted with AES-256-GCM under a key held in the platform keystore (lib/core/vault/vault_service.dart). The in-app account exists on Android, iOS and macOS only: a browser has no platform keystore, so the web build does not offer one.

02How it fits together
There is no SOLSCOPE server. Each install of the app reads public data sources directly, the user's own wallet signs every swap, and you, the operator, publish one JSON file that configures every install at once.
lib/core/data/ (data clients), lib/core/swap/ (Jupiter swap and fee), lib/core/wallet/ (wallet connectors), lib/core/vault/ (in-app account), lib/core/config/ (admin config and operator gate).03Pick your path
04What is in the package
| Folder or file | What it is |
|---|---|
lib/app/ | Product identity (product_identity.dart), demo switch, start-up wiring. |
lib/core/ | Data clients (Jupiter, Dexscreener, GeckoTerminal, Helius, CoinGecko), Solana RPC and signing, the vault, wallet connectors, swap, PnL, watchlist and alerts, admin config. |
lib/features/ | The screens: terminal shell, token page and chart, swap panel, feed, watchlist, PnL, settings and operator console. |
lib/theme/ | Design tokens and theme. |
assets/fonts/ | JetBrains Mono 2.304 with its SIL OFL 1.1 licence. |
assets/brand/ | The app icon master (a placeholder you replace). |
android/, ios/, web/, macos/ | Platform projects. These docs cover web, iOS and Android. |
docs/*.md | The source notes these pages are based on: INSTALL, ADMIN-CONFIG, EARNING, SECURITY, FIREBASE, DEMO. |
.env.example | Template of the build-time settings. Placeholders only. |
test/ | Automated tests (flutter test). |
Your own Solana RPC endpoint for production traffic, optional Helius and CoinGecko keys, hosting for the web build, Apple and Google developer accounts if you publish apps, and the fee token account you want to be paid into. None of these are part of the purchase.
05Try it before you install
The public demo is the real build on live public data, compiled with SOLSCOPE_DEMO=true: solscope-demo.mikodes.com.
- No wallet can connect and nothing can be signed. The demo is built with an empty connector list, so there is no code path to a signature.
- The fee line uses a labelled placeholder account (
DEMoFeeAccountNotAnAccount…) so you can see where your fee appears. It is not an account. - The Setup tab opens with the demo passcode
solscope-demoand is read-only, so one visitor cannot change what the next one sees. Your own builds have no Setup tab unless you give them a passcode.

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-token-account>, is a placeholder. Replace it, brackets included. - Paths start at the unzipped project folder:
lib/app/…means theappfolder insidelib. - Required marks steps you cannot skip.
- Not active in this version marks things that appear in the app but do not work yet. They are listed so you are not surprised by them.