Indexed OutcomeAmm ERC-20 pool-share lots, one row per market.
You want pool shares for a wallet that put up inventory on the ETH market. One lot per market. It is not remaining Yes or No, and it is not the fill tape.If the indexer is down, you get an empty list. Rows with no shares and no realized PnL are omitted. Do not mix this with fills or remaining shares.
const user = client.user(walletAddress)const one = await user.lpPositions({ market: marketAddress })const all = await user.lpPositions()
Optional filter: market.currentValueCollateral is the named-answer basket marked at the indexer’s price (0 or 1 if resolved), pro-rata to your shares over the pool supply. pnlCollateral is realized plus unrealized when that mark is available.
Event
Effect
FundingAdded
Cost += max(amountsAdded) (that is addedFunds)
FundingRemoved
Realize PnL; proceeds = named basket at 1e18 prices (0/1 if resolved)
LP token Transfer
Move cost with the shares. Mint/burn (zero address) is ignored — those are already in add/remove.