Positions, payouts and fees
A position
A position is one accepted stake on one outcome of one market. Once the chain has accepted it:
- it stays in that pool until the market resolves or voids. There is no sale, transfer or early exit;
- it is bound to the address that entered. That address receives the payout or refund;
- it cannot be changed by anyone, including Pools Markets. The backend has no function that moves a user’s stake.
Limits
Every market shows a MIN and a MAX before you enter. They come from the market’s risk configuration and are frozen when the market opens. On Robinhood Chain and BNB Chain the contracts also enforce ceilings that no market can exceed: 0.25 of the native asset per wallet per market, 2 per market, 5 per asset, and 25 of undecided stake open across the whole protocol at once. The last one releases as markets settle. The Solana program currently has no protocol-wide ceiling set; the per-market limits in the panel still apply.
The fee
This is the only definition of the fee. The extension, the store listing and this site use the same one.
Charged only when a market resolves to a winning outcome. Not charged on a void or a refund.
The protocol fee is 3% of the winning side’s profit. Profit is payout minus original stake. Returned principal is never fee-bearing.
Example:
Stake 1.000
Gross payout 1.800
Profit 0.800
Protocol fee 0.024 (3% of 0.800)
You receive 1.776Where it comes from in the pool: all losing stakes form the winners’ profit pool. The contract takes 3% of that pool and distributes the remaining 97% to the winning positions in proportion to their stake. That is arithmetically the same as charging each winner 3% of their own profit, which is why the two descriptions you may have read elsewhere are one fee, not two.
Where you see it: the fee rate is written into the pool when the market opens and cannot change afterwards. The EST. PAYOUT shown before you enter is already net of it. The store listing states the same sentence.
Not the fee:
- Network gas for your entry transaction, paid to the chain, varies by network.
- Swap fee. Swaps inside the wallet carry a 0.50% Pools Markets fee deducted from the output, shown on the swap review screen. It has nothing to do with predictions.
- Circle’s fee on unified USDC deposits and transfers, shown on that screen.
Payout formula
For a winning position:
payout = stake + stake × (losingPoolAfterFee ÷ winningPool)
losingPoolAfterFee = losingPool × 0.97Rounding always goes down, so the pool can never owe more than it holds. The few base units left by rounding go to the protocol.
Worked example with three participants:
Outcome A pool 3.0 (two positions: 2.0 and 1.0)
Outcome B pool 1.0 (one position)
B wins.
Fee 3.0 × 3% = 0.09
Distributable 2.91
B position payout 1.0 + 1.0 × (2.91 ÷ 1.0) = 3.91When you are refunded instead
A market returns every stake in full, with no fee, when:
- nobody staked on the winning outcome. There is no profit pool to share;
- the market never reached its minimum. Every market needs at least two participants, at least two funded outcomes and a minimum total pool before entries close. If it does not get there, it is cancelled at the deadline;
- no valid result arrives in time. Every market has a resolution deadline at least one hour after its observation ends. If resolvers cannot produce a valid, signed result by then, anyone can void the market and refunds follow;
- the rules say so. Each question type carries void conditions, such as a data source that cannot be reconciled. See Resolution and voids.
How payment happens
Payouts are automatic and batched. A Pools Markets worker triggers them as soon as a market is finalised, but the function is permissionless: anyone can trigger a batch, so payment does not depend on Pools Markets being online.
If a payout transfer to your address fails, for example because the address is a contract that rejects native transfers, the amount is not lost. The contract credits it to a withdrawable balance for your address. Write to support@pools.markets to collect it.
Where to check
- Positions shows pending positions with the estimate.
- Settled shows each final result and the exact amount paid or refunded.
- Wallet → Activity shows the payout or refund transaction, with a link to the explorer where one is available.