# Protocol fee recipient correction — 18 September 2026

User clarification: the 1% annual fee is protocol revenue, paid to deployer/protocol rather than automatically to the position owner's wallet.

New positions keep the connected wallet as owner and use the configured `THETADEPLOYER` address (`0x4a4c7c5549359b9fff0137bb3ec4d48c4aa79cc7`) as `PROTOCOL_FEE_RECIPIENT`. The creation review renders separate owner/recipient rows from the prepared configuration passed to the factory. Existing contracts and withdrawal/roll previews retain their actual immutable recipient.

Validation:
- 121 frontend tests pass. The regression covers long/short and two different owners, using factory ABI encoding/decoding to assert the owner stays unchanged, fee APR remains 100 bps, and recipient stays the protocol address. The creation-send test checks the encoded configuration as well.
- `node scripts/check-wiring.mjs HEAD` and `git diff --check -- cattle` pass.
- Independent evaluator `/root/protocol_fee_review`: PASS, no blockers. Traced configuration through factory calldata and compared existing-position read/withdraw/roll paths with the deployed contract source at `ebe65df`.
- Browser at `/dev/cattle/app.html?v=26`: read-only wallet fixture `0x1111…1111`; reviewed an unfunded long creation; displayed distinct owner and protocol recipient, correct 1% protocol fee copy; no console errors/warnings and zero wallet sends. Screenshot: `img/designs/protocol-fee-review.png`.
- Runtime module imports and entry points use version 26. Prior reviews and journal entry 24 are historical; journal entry 25 supersedes the old recipient assumption.
