At a glance
- Any live parlay can be cashed out early, until 30 seconds before its markets close. The auction runs about 10 seconds.
- Every market maker sees the auction and can bid one all-in price. You see the best one as it changes.
- You receive the best live bid, never less than the price you accepted. If the best bid drops below it before you commit, the commit fails and nothing happens.
- The price can be below your stake if the parlay has gone against you.


How it works
1
Request a cashout
Ask for a cashout on a live position. Totalis opens the auction and gives you a stream to watch it.
The call
The call
position_id is on the parlay object once it is live.2
Market makers bid
Every maker sees the auction and can bid one all-in price. You see the best live bid, and it can
change until you accept.
On the wire
On the wire
The cashout stream carries the best live bid. Its
price_micro is the total you would receive, in microUSDC: an integer where 1000000 is 1 USDC.
See Units.3
Accept the price
Take the best bid, or walk away.
The call
The call
min_price_micro is required. If the best bid has dropped below it, the commit fails and nothing
happens.What the price means
The bid you accept is one all-in figure. Exactly that amount lands in your vault as free balance, not in your wallet. You can trade with it or withdraw it from there. The profit fee is already inside the number. There is no separate fee line and no second taker fee for leaving. See Fees on an early exit. When the exit closes the position (see the table below), your stake is released. The difference between the price and your stake moves between you and the maker. On theposition.bought_back
webhook, amount is that difference before the profit fee, and mm_pays_user gives its direction.
A parlay that has gone against you exits for less than it cost, but you never pay anything to
leave. If no maker bids before the auction ends, nothing happens and your parlay stays open.
What happens to the position
An auction resolves one of two ways. Both pay you the same. They look different in your data.Do not wait for a bought back status to know a cashout succeeded, because a sale to another
maker never shows as bought back. Use the commit response, or the
position.bought_back webhook when
the backing maker won. Market makers: the other side of the auction is on
Cashout auctions.
