Non-production prototype
These contracts are unaudited. The configured treasury currently has no contract code, so real-money betting and LP deposits are not operational. Do not deposit; check the current deployment status before any interaction.
Trustless Resolution
Polypar's settlement calculation is deterministic, but not every part of the product is trustless. The useful boundary is between trusted setup and pricing and contract-enforced evaluation of stored outcomes.
What is trusted
Authorized roles and backend services control:
- which vaults are created and which 2–12 leg tuples they contain;
- the human-readable titles, event labels, and selected-side labels shown in the app;
- the deposit deadline, capacity,
primeBps, and multiplier floor; - whether a quote is issued and which live Gamma prices feed it;
- the factory's current price signer, treasury, and collateral configuration for future interactions.
Users must confirm that the displayed labels correspond to the vault's stored (conditionId, outcomeIndex) values.
What the contract enforces
A clone's leg array is written during initialization and has no administrative rewrite function. Resolution reads those stored tuples against the immutable Conditional Tokens address configured in the factory at deployment.
For each leg reached by the loop:
- a zero CTF payout denominator means that leg is unresolved and
resolve()reverts; - a selected numerator equal to the denominator is a winning leg;
- any other nonzero resolved payout is a losing leg, including an opposite result, split, tie, or void.
The status transition is permanent: Open → Won or Open → Lost.
Resolution must be called
resolve() is permissionless, so a keeper or any user can submit it, but the contract does not wake itself up. A potential win can resolve only after every leg is final. A proven loss can resolve once the loop reaches a losing resolved leg; later legs need not be final, although any earlier unresolved leg causes that call to revert before the loss is reached.
External outcome dependency
Polypar cannot rewrite a clone's legs, but it still depends on Polymarket's Conditional Tokens outcomes and the upstream resolution process. Delayed, disputed, split, tied, or void outcomes directly affect when and how the parlay settles.
A Won status also does not prove the vault has its nominal collateral. Resolution requests a treasury shortfall once, then redemption remains pro-rata over the actual balance.
Next: see the wallet actions in Resolve & Redeem, and review outcome and admin risks in Risks & Limitations.