The keeper is trusted in V1. Its inputs can be partially reconstructed but not exactly replicated due to timing-sensitive sampling.
- The basket composition (token mints and pool addresses) is broadcast via the dashboard API each tick.
- For each token, the keeper reads DEX pool reserves every 2s and computes a rolling median price over a 30-second window (15 samples).
- Per-token return = median_price / graduation_price. Tokens with zero returns (dead/migrated pools) are excluded. NTI = median of remaining returns.
- An independent observer sampling the same pools at similar intervals should arrive at a closely matching NTI. Exact replication requires identical sample timing.