> ## Documentation Index
> Fetch the complete documentation index at: https://docs.totalis.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# Early cashout

> Leave a parlay before it settles: a short auction, one all-in price, and what happens to your position afterwards.

Once a parlay is live on chain, you can ask market makers to buy you out before it settles. Totalis
runs a short auction. You see the best price live and accept it or walk away.

## 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.

<img className="block dark:hidden rounded-2xl" src="https://mintcdn.com/ucalledit/YdiR6y3UIknGsFJp/images/pictures/early-cashout-light.png?fit=max&auto=format&n=YdiR6y3UIknGsFJp&q=85&s=f2799456c8e97c25dfd093834ea6c65f" alt="Your position goes to a ten second auction; the highest all-in bid wins and either closes the position or transfers it" width="1540" height="952" data-path="images/pictures/early-cashout-light.png" />

<img className="hidden dark:block rounded-2xl" src="https://mintcdn.com/ucalledit/YdiR6y3UIknGsFJp/images/pictures/early-cashout-dark.png?fit=max&auto=format&n=YdiR6y3UIknGsFJp&q=85&s=d307f3f16f58162f7422e1e6abc0005b" alt="Your position goes to a ten second auction; the highest all-in bid wins and either closes the position or transfers it" width="1540" height="952" data-path="images/pictures/early-cashout-dark.png" />

## How it works

<Steps>
  <Step title="Request a cashout">
    Ask for a cashout on a live position. Totalis opens the auction and gives you a stream to watch it.

    <Accordion title="The call">
      ```bash theme={null}
      POST /v1/cashout-requests
      { "position_id": "<position-id>" }
      GET  /v1/cashout-requests/<id>/stream   # SSE: live buyback quote and status
      ```

      `position_id` is on the parlay object once it is live.
    </Accordion>
  </Step>

  <Step title="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.

    <Accordion title="On the wire">
      The [cashout stream](/solana/api-reference/quote-service/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](/solana/glossary#units).
    </Accordion>
  </Step>

  <Step title="Accept the price">
    Take the best bid, or walk away.

    <Accordion title="The call">
      ```bash theme={null}
      POST /v1/cashout-requests/<id>/commit
      { "min_price_micro": <the price_micro you accepted> }
      ```

      `min_price_micro` is required. If the best bid has dropped below it, the commit fails and nothing
      happens.
    </Accordion>
  </Step>
</Steps>

## 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](/solana/limits-and-fees#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 the `position.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.

| Winning bidder | What happens | How it shows |
| - | - | - |
| The maker who backs your position | The position closes. | The parlay reads as bought back, with realized P\&L on its `cashout` object. |
| Any other maker | You are out and paid. The position moves to the buyer's account and stays open there. | The parlay leaves your reads. |

<Note>
  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](/solana/guides/cashout-auctions).
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.