Kyzen Network Equipment index (kEQUIP): methodology Version 1 This text is the methodology of the Equipment index. The owner records the keccak-256 hash of its exact bytes in the index's price contract as methodologyHash. The documentation at https://docs.kyzen.network/silicon-markets/kequip states the same rules. 1. Scope The Equipment index prices the equipment stage of the chip supply chain from one stock. Its price contract, a StockIndexFeed on Robinhood Chain (chain ID 4663), reads the stock's Chainlink feed directly. Its synthetic, kEQUIP, is minted by the Kyzen Network Silicon vault against $KYZN and USDG collateral. The synthetic holds no stock and does not redeem for stock tokens. 2. Basket Component 0: ASML, Chainlink ASML/USD feed 0xB4106147E8cce40b7d46124090d373A71b70f87D The one component has a weight of 1, the whole index, at deployment. The basket never rebalances. The index values the token at its feed's per-token price, which reflects the token's multiplier for corporate actions as the issuer sets it (section 8). The index adds nothing to the feed. 3. Quantities At deployment the price contract reads each feed's latest round. That round is the component's reference round, and its answer the reference price. Each component's quantity, the units of the stock that one unit of the index holds, is quantity_i = (100 USD / 1) / reference price_i with 18 decimals, rounded down, so the index starts at 100 USD. The quantities and the reference rounds are recorded on-chain at deployment in the ComponentAdded events; component(i) reads a component's feed, its decimals and its quantity. 4. Price index price = sum over all components i of (quantity_i x price_i) price_i is component i's latest Chainlink answer, scaled from the feed's decimals to 18. Each term is rounded up to 18 decimals, against the minter. The index's update time is the oldest of its components' update times. A component whose latest round cannot be read, answers zero or below, or carries an update time in the future leaves the index without a price. 5. Mints A mint, and a withdrawal from a position with debt, uses the index only when all of these hold at the time of the transaction: - the time is inside the minting window: Monday to Friday, from 14:30 up to 20:00 UTC, on a day the market calendar does not close; on an early-close day the window ends at 17:00 UTC; - every component's latest answer is at most 24 hours old; - no component is stopped (section 7); - the guardian has not paused the index (section 9). The market calendar is a contract its owner sets. It closes exchange holidays and ends the window at 17:00 UTC on early-close days. A change that restricts a day takes effect at once. A change that relaxes a day applies only to a day that starts at least 24 hours after the change. The window sits inside the regular US session in both summer (13:30 to 20:00 UTC) and winter (14:30 to 21:00 UTC), so a mint never prices off a close while after-hours trading moves a stock. The feeds update when prices move, not on a schedule, so a feed's age cannot tell a closed market from a quiet one: the window and the calendar do. On a Monday, mints wait for the component's first update, since Friday's answers are more than 24 hours old. 6. Liquidations Starting an auction, and restarting one that ended unsold, uses the index when every component's latest answer is at most 96 hours old and no component is stopped, on any day and at any hour. The guardian's pause does not apply. 96 hours covers the longest regular closure, about 92.5 hours, from an early close on a Thursday to the open after a holiday Friday. Repaying and adding collateral read no price: the index never stops them. 7. Jump breaker Each component has a checked round: the last round accepted. It starts at the reference round. A component is stopped when a round after its checked round - is more than 30% away from the round before it: |a - b| > 0.3 x b, where b is the earlier answer and a the later; - answers zero or below; or - cannot be read, or follows a round that cannot be read. sync(), which anyone may call and the vault calls before it reads prices, moves the checked round forward over rounds that are each within 30% of the round before. Each call, and each freshness check, walks at most 16 rounds past the checked round; a longer backlog stops the component until sync() has caught up. A stopped component stops the index for mints and liquidations alike. The stop latches: later rounds within 30% do not lift it. Only the guardian lifts it, with clearJump(i, roundId). The guardian checks any move of more than 30%, such as a large earnings gap or a bad print, before it clears the round. roundId must be the feed's current round, so the guardian accepts exactly the round it checked. 8. Corporate actions Each stock token carries a multiplier that its issuer updates for corporate actions, such as a split. A component's Chainlink feed prices one token, and its answer already includes the multiplier. A split or another corporate action therefore does not change a quantity. The feed holds its last answer through the action and resumes at a continuous per-token price. A held answer ages like any other, under sections 5 and 6. A quantity changes only as a correction, if a feed's per-token price ever stops tracking its token, for example after a feed or token migration: - the owner queues the new quantity with queueQuantity(i, quantity); a second call replaces the first and restarts the delay; - from 24 hours after the call, anyone may apply it with applyQuantity(i); - applying it stops the component until the guardian clears it; - the guardian cannot clear a component while a quantity is queued for it; - the owner or the guardian may cancel a queued quantity. A correction is accepted once, by a guardian who has seen the feed's answer against the new quantity. 9. Pause The guardian may pause the index. While it is paused, mints and withdrawals from a position with debt stop; liquidations, repaying and adding collateral continue. 10. Roles The owner of the price contract names the guardian, queues quantity corrections (section 8) and records this text's hash (setMethodology). The vault opens the market only once the price contract has a guardian and a methodology hash. The vault's levels (collateral ratio, fees, auction terms, debt limits) are not part of this methodology; they are published at https://docs.kyzen.network/silicon-markets and reviewed monthly.