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.
Your Funds
Polypar's on-chain asset flow uses bridged USDC.e on Polygon:
wallet → approved parlay vault → Won or Lost resolution → redemption or treasury
Before deposit: wallet-controlled
USDC.e remains in the user's wallet until a wallet-signed transaction succeeds. A backend quote is only an EIP-712 price-signature payload for one vault; the backend cannot pull wallet funds merely by creating or signing it.
If allowance is too low, the user separately approves that specific parlay vault for the stake amount requested by the app. An approval permits the vault to transfer tokens under ERC-20 allowance rules, but does not itself place the parlay.
After deposit: contract-controlled
A successful depositWithQuote transfers the stake into the selected vault and mints shares to the receiver. From that point:
- the user controls transferable vault shares, not the deposited USDC.e;
- there is no Open-state withdrawal, cancellation, refund, or cash-out;
- contract resolution determines whether collateral goes to the treasury or remains available for winning redemptions;
- a winning redemption is pro-rata over the balance actually held by that vault.
Self-custody of the wallet does not mean self-custody of assets already deposited into a smart contract.
Network and asset boundaries
Polypar has no internal bridge. Users already on Polygon must still confirm they hold the exact configured USDC.e token, not a similarly named asset. Users arriving from another chain may need an external bridge or exchange withdrawal, which has separate smart-contract, counterparty, routing, fee, delay, and wrong-network risks outside Polypar.
Polygon gas is paid separately in the network's native token. USDC.e alone is not enough to submit approval, deposit, resolve, or redeem transactions.
Do not transfer directly
Do not send USDC.e directly to a factory, implementation, treasury target, or vault outside the documented wallet flow. The current treasury target has no contract code, and direct transfers may be unrecoverable.
Verify token and contract addresses in Network & Contracts before any interaction.
Next: use the transaction sequence in Place a Parlay and review custody, bridge, token, and contract risks in Risks & Limitations.