“On-chain” sounds binary, but products rarely fit into a clean yes or no. A balance may live on a public ledger while its image, interface, price feed and governance process depend on ordinary servers. The useful question is not whether something is on-chain. It is which parts are.
State and presentation are different
A token account can be verified independently while the website that explains it disappears tomorrow. Metadata may point to a permanent storage network, a conventional URL or nothing at all. Each choice changes what survives without the original team.
Execution is another dial
A program deployed to Solana runs according to public rules, but upgrade authority may allow those rules to change. Revoking that authority increases immutability while also removing the easiest path to fix a bug.
On-chain is a map of dependencies, not a marketing adjective.
Read the dependency graph
Ask where balances live, who can change the program, where metadata is stored, how prices enter the system and what happens if the official interface vanishes. The answers reveal more than a logo or a decentralisation score ever could.