# Decision Pending: Per-Competition Portfolio Scoping

**Date:** 2026-04-06
**Needs:** Product Owner decision
**Blocks:** GAP 11 (per-competition portfolio tracking)

## Context

Users need to track their **main SimTrade portfolio** AND **each competition's portfolio** separately. Currently, `/portfolio/history?competition_id=X` is a no-op — returns global history.

## Constraint

Alpaca does NOT support multiple paper trading accounts per user (email + tax ID uniqueness, regulatory blocker). We're stuck with 1 Alpaca account per user.

## Options

### Phase 1 — Quick Win (low effort)
- Per-competition snapshots in daily cron + leaderboard rebuild per competition
- Gives: scoped performance charts + competition rankings
- **Limitation:** User in 2 competitions sees same equity delta in both (no trade isolation)

### Phase 2 — Full Isolation (significant effort)
- `sim_orders` table to tag trades by `competition_id`
- Dual-write on order placement
- Per-competition position computation
- Gives: true portfolio isolation per competition

## Key Question for PO

Is it acceptable that a user in 2 overlapping competitions sees the same portfolio performance in both? Or do we need true trade isolation (Phase 2)?

## Related

- Backend PR #271: https://github.com/NanoStreetApp/backend/pull/271
- Mobile PR #102: https://github.com/NanoStreetApp/mobile/pull/102
- Backend agent status: `.agent-status/backend-simtrade.json`
- 102 integration test plan: `.claude/worktrees/simtrade-api-adapter/INTEGRATION_TEST_PLAN.md`
