ORRANGE / Guides
Quickstart
Get a running local app in about ten minutes. This page is the shortest path from zero to /treasury.
Prerequisites
- Node.js 18.18+ and
npm(the repo is a Next.js 15 / React 19 app). - A privacy-capable Starknet wallet — Ready (Wallet API ≥ 0.10), or use the ORRANGE-embedded Privy wallet lane. STRK20 private features require a wallet that supports the STRK20 Wallet API methods.
- A small amount of Sepolia ETH/STRK for fees (Starknet Sepolia is the validated network for the private flows). Use the Sepolia faucet if needed.
- STRK20 prover + discovery endpoints — end-to-end STRK20 actions need the operator’s proving/discovery stack. Without them, the UI loads but real shielded transfers cannot complete.
1. Install
# from the repository root
npm install2. Configure the environment
cp .env.example .env.localFill in the values by category (never commit real secrets):
| Category | Variables |
|---|---|
| Wallet / Privy | PRIVY_APP_ID, PRIVY_APP_SECRET, NEXT_PUBLIC_PRIVY_APP_ID, NEXT_PUBLIC_READY_CLASSHASH |
| Starknet / STRK20 | ALCHEMY_STARKNET_KEY, NEXT_PUBLIC_STARKNET_RPC, NEXT_PUBLIC_STRK20_POOL, NEXT_PUBLIC_STRK20_SEPOLIA_POOL, NEXT_PUBLIC_USDC_SEPOLIA, NEXT_PUBLIC_CHAIN_ID |
| Prover | NEXT_PUBLIC_STRK20_PROVER_URL |
| Discovery | NEXT_PUBLIC_STRK20_DISCOVERY_URL |
| AI provider | AI_API_KEY server-only, AI_BASE_URL, AI_MODEL |
| Treasury allowlists | AI_ALLOWED_ASSETS, AI_ALLOWED_DESTINATIONS server-only |
AI_API_KEY, AI_ALLOWED_ASSETS, AI_ALLOWED_DESTINATIONS, and the Privy secret are server-only — never prefix them with NEXT_PUBLIC_ or they ship to the browser. See Environment for the full reference.3. Run
npm run devOpen http://localhost:3000.
Shortest path to the treasury
- Connect a privacy wallet from
/wallet(Ready extension, or the Privy lane). - Enable private receiving — the app submits a real STRK20 action; the wallet registers your viewing key and shields the first note in one transaction.
- Inspect your private balance on
/wallet— the balance comes from the wallet’s discovery, never a local cache. - Open
/treasury— the command center is live on page load with a proactive diagnosis. Select a guardrail, ask Hamster, or try a What-If simulation.
End-to-end execution requires a live privacy wallet, a funded Sepolia account, and the STRK20 operator proving/discovery stack. If the AI is not configured,
/treasury still works for portfolio and health — diagnosis just uses the deterministic engine instead of the LLM.