deposit × odds × win/lose. Worked numbers (100 collateral, 70/30, buy 40): LP calculator.
Not financial advice. Size only what you can lose.
What you actually mint
credits (or seedWei on first LP) is one collateral number. The AMM pulls it, splits a complete set, keeps a slice of each slot as inventory, and mints ERC-20 pool shares to you.
Invalid is part of the complete set and sits in the AMM. It is not tradable and always prices at 0.
On a skewed book, later LP binds on the heaviest reserve. Lighter slots send leftover outcome tokens back to the funder.
What you earn
Cost on add is
max(amountsAdded) (addedFunds). Indexer remove proceeds are the named basket at 1e18 prices, or 0/1 if resolved. Send-back tokens are a share position, not this LP lot.
Risks
Trading stops when the market resolves — otherwise LPs get arbitraged
After payouts are set, every named share is worth exactly1 or 0 collateral. If swaps kept running:
- Winner still priced below 1 — buy it from the AMM, redeem at 1.
- Loser still priced above 0 — sell worthless shares into the AMM, take collateral out.
buy / sell therefore revert Resolved once Conditional Tokens has a payout denominator. Fee income from traders stops with them.
Fee income for the protocol only exists between seed and resolve. A market that resolves quickly can pay almost no volume relative to the inventory you posted — but leaving the AMM open would be worse: the inventory itself would be picked off.
Inventory while the market is open
Across-outcome LP is how you market-make the whole book without picking Yes or No. It is not delta-neutral. As implied probability moves, you hold more of the outcome the market is dumping. You are the other side of every trader.Even join vs live odds
LateraddLiquidity joins current reserve proportions. It does not re-apply your original seed odds.
Idle Invalid
The complete-set mint always prints Invalid. It never trades. Unwinding a full set later means you need the named outcomes back (fromremoveFunding, from trading, or from leftover send-backs).
Operational
Approvals, factory version, and AMM clone all have to match. Tinycredits revert (mintAmount == 0 or dust). Contracts, oracles, and resolution can fail.
This is not financial advice. Size only what you can lose.
How to exit
client.user(owner).lpPositions({ market })— find the pool-share lot.- Open:
market.removeFunding({ shares, owner })— basket of every slot, thenmergecomplete sets if you want collateral. - Resolved:
market.redeemLp({ shares, owner })— burn shares, redeem the basket to collateral (same redeem fee). - Send-back / leftover named tokens:
market.redeemas share positions.
redeemLp only works after resolve. While open there is no 1:1 payout on a single outcome.