Private Treasury
Hamster turns opaque shielded balances into one readable picture: what you own, what\u2019s risky, what to do about it, and what happens if you do.
Treasury Intelligence lives at /treasury. It aggregates your private balances through the wallet, computes health and risk metrics, and — when you ask — produces a structured diagnosis and recommendation, all constrained by a deterministic policy you control.
What you own
The portfolio is built only from real aggregate balances returned by the wallet and fresh USD prices. No asset, balance, or price is fabricated. If your treasury holds only STRK, that is exactly what the page shows.
Health metrics
- Concentration — the share of your treasury in the largest position.
- Liquidity — USD of liquid positions usable toward your guardrail floor.
- Diversification — how many distinct assets you hold.
These roll into a health score (0–100). The score is advisory: it helps you understand the treasury but never authorizes execution. Only the deterministic policy does that.
Guardrails you control
A hardcoded $1,000 liquidity floor would make a small testnet treasury unusable, so ORRANGE instead uses user-selected guardrails. Three presets map to fixed deterministic policy values, and a Custom option lets you set explicit limits:
| Preset | Min liquid | Position cap | Max per action |
|---|---|---|---|
| Conservative | $100 | 60% | $100 |
| Balanced | $50 | 80% | $150 |
| Flexible default | $25 | 100% (no cap) | $250 |
The AI can never modify your guardrail. The selection is validated server-side on every analysis and returned as the effective policy; execution always re-runs it against fresh state.
Diagnosis and recommendation
On page load Hamster already gives you a deterministic diagnosis from your real portfolio — e.g. “Your treasury is concentrated in STRK.” When you ask, it produces a structured insight (never parsed from prose):
- Diagnosis — one sentence on what is wrong.
- Recommendation — one sentence on what to do.
- Why — the expected effect.
- Outcome — the expected consequence for liquidity/policy.
What-If simulation
Every recommendation is paired with a deterministic simulation that reuses the exact policy math. It shows before → after for concentration, liquidity, and policy status, plus alternative amounts (Try $25 / $50 / $100). Simulations are never executed — they only preview.
Actionability
| Status | Meaning |
|---|---|
| ADVISORY | Hamster diagnosed but proposed no state-changing action. |
| BLOCKED | An action exists but your guardrail rejects it — nothing is executed. |
| EXECUTABLE | Every deterministic policy check passes; a review CTA is shown. |
Execution re-check
The Review private transfer action is the only execution entry point, and it is shown only when the policy says EXECUTABLE. Confirming does not trust the earlier verdict — it re-runs the whole gate:
proposal
│
▼
expiry check (120s)
▼
fresh state re-fetch
▼
exact bigint amount
▼
fresh prices
▼
deterministic policy re-run
▼
wallet confirmation
▼
existing STRK20 private transferIf your balances changed, the proposal expired, or fresh prices no longer support the action, execution is refused and you re-analyze. Execution uses the existing STRK20 private-transfer path — never arbitrary calldata.
Concrete example
Say your treasury is 74% STRK and your selected guardrail caps a single position at 60%:
- Hamster diagnoses the over-concentration.
- It proposes a rebalance: move STRK to your approved private reserve.
- The What-If previews the expected before/after concentration.
- You confirm; the policy is checked again against fresh state with fresh prices.
- Your wallet signs the STRK20 private transfer.
