Platform & Trust
Wallet & Security
How wallet connection works, what watch mode means, and what safety boundaries users should understand.
Supported Wallets
MetaMask, Rabby, Coinbase, Trust, OKX
Fallback Mode
Manual watch-only address
Security Boundary
Non-custodial recommendation and proof UX
Wallet modes in this app
Security notes
- The app does not custody funds in the code shown here; it orchestrates wallet context, optimization output, and proof storage metadata.
- The current public deployment is mainnet-first on 0G Mainnet, while 0G Testnet stays available for comparison.
- A proof receipt is not the same thing as guaranteed profitable execution. It is evidence of what the app recommended, audited, produced, and stored, not a promise of future APY.
- Do not commit `.env.local`, API keys, private keys, access tokens, or wallet secrets into Git.
What the app stores in 0G Storage
The proof route writes a compact JSON proof package that is meant to support verification and replay of the optimization result. In the current implementation, this package can include the optimization decision, timestamp, wallet-scoped metadata, and a portfolio snapshot when the client provides it.
That means the stored record is useful for auditability, but it should be described honestly: it is proof-oriented application data, not a private zero-knowledge portfolio vault.
How network switching works
When a supported injected wallet is connected, the sidebar can request a network switch or add the target chain if it is missing.
The selected network is also saved into local storage and cookies so the rest of the app can fetch portfolio and proof data consistently across reloads.
Demo wallet consistency
The current default demo wallet is 0x8a3c7524Aaed081825aC88eC7f4cCECFc583ee7D. If `NEXT_PUBLIC_DEMO_WALLET_ADDRESS` is set, the app uses that value; otherwise it falls back to the repository default.
Keep documentation, screenshots, and spoken demos aligned with the active demo wallet to avoid confusing reviewers when the address shown in the sidebar differs from the docs.