# Trade OTC and Request Quotes









Open [OTC in the Spectra app](https://app.spectra.finance/otc) and connect
your wallet. For an introduction, see [OTC trading and quote requests](/docs/spectra/guides/otc-rfq).

## Take an offer [#take-an-offer]

1. Choose **PT** or **YT** and the network. Use **Offer**, **Market**, **With**
   and the minimum size filter to narrow the book.
2. Open an offer. The book's **Buy** or **Sell** label describes your action
   as the taker: **Buy PT** means the maker is selling PT to you.
3. If the offer allows partial fills, enter how much PT or YT to buy or sell,
   up to **Available**: what is left of the offer. It starts at everything
   that is left. An offer without partial fills is taken whole.
4. Check the market, maturity, rate, asset you pay and asset you receive.
   Hover &#x2A;*You pay (live)** to see the maximum payment: the live price plus a
   small buffer for changes while your transaction is pending. Your approval
   covers this maximum, and the fill reverts, spending nothing, above it.
5. Approve the payment token if prompted, then confirm the fill in your wallet.
6. Wait for confirmation and check your balances.

<img alt="OTC book showing PT offers, rate and market filters" src="__img0" />

Most offers allow partial fills: you can take part of one, and the rest stays
available to others. Each part is priced at the offer's fixed rate. Offers
marked with the **No partial fills** icon in the book must be taken whole.

The app refreshes the quote, and what is left of the offer, before sending.
If someone takes part of the offer first and less is left than you chose,
the app shows how much remains: lower the amount to continue. If the payment
exceeds your accepted maximum, or the offer is no longer available, close
and reopen it to review before trying again.

<img alt="Take-offer review showing the amount to take, what is available and the live payment" src="__img1" />

## Create an offer [#create-an-offer]

1. Select **+ Create an offer**, choose PT or YT, then **Create an offer**.
2. Select a market, buy or sell, and the settlement token: underlying or IBT.
3. Enter the amount you will send. &#x2A;*You sell (fixed)** is a PT/YT amount;
   &#x2A;*You spend (fixed)** is the underlying or IBT amount for a buy offer.
   You must hold enough of that token to publish.
4. Set the &#x2A;*Fixed rate (implied APY)** and the offer's expiry. Check **Output now**
   to see the amount you would receive at the current block. PT rates can be
   0% or higher; YT rates must be above 0%.
5. **Allow partial fills** is checked by default: takers can fill part of
   your offer, and the rest stays open until it is filled, you cancel it or it
   expires. Uncheck it if a taker must take the whole offer in one fill.
6. Optionally select **Restrict to specific counterparties** and add the
   addresses allowed to fill.
7. Approve the outgoing token if needed, then select **Sign & publish offer**.
   Successful publication returns you to the OTC book.

Signing and publishing from a regular wallet costs no gas. Token approval
is an onchain transaction and may cost gas. Your wallet may call the signature
**1inch Limit Order Protocol**; check that its network and settlement address
match the Spectra OTC offer you reviewed.

Your tokens stay in your wallet until a fill. Keep enough balance and allowance
to cover what is left of your live offers. An executable offer can be filled
without another confirmation from you, several times over if it allows
partial fills, until nothing is left.

<Callout type="info">
  “Private” restricts who can fill an offer. It does not make the terms or the
  recipient list confidential. When offering to a MetaVault, use its Safe address
  on the trade's network, not the curator's personal wallet.
</Callout>

If the market does not exist, **Deploy a PT** creates a PT/YT pair for an
ERC-4626 IBT and a maturity. Deployment costs gas and creates no AMM pool or
liquidity. Verify the IBT address and yield source before using it.

## Request quotes from curators [#request-quotes-from-curators]

Use **Request a quote** when you want MetaVault curators to propose a rate.

1. Choose PT or YT, then a vault. Check its curator, underlying asset and
   network; use the vault link to review it.
2. Select an existing market or **New expiry**. For a new expiry, a responding
   curator must deploy the market before quoting it. Check the actual maturity
   on the response; it can be up to a day later than requested.
3. Choose buy or sell, enter the amount in **PT or YT units**, and select
   underlying or IBT for settlement.
4. Set **Request expires in**. The chosen vault is selected under **Ask quotes
   from**; select any additional recipients explicitly.
5. Review and sign the request. This is a gas-free message, not a trade or
   token approval.

To request a sale, hold the full PT/YT quantity in an existing market. To
request a purchase, hold a positive balance of the settlement token; the
actual payment depends on the response and is checked again when you fill.

<img alt="Quote request form with vault identity, market, balance and recipient selection" src="__img2" />

Return to **My quote requests** on the OTC page. Each curator can leave the
request pending, decline it or respond with a private offer. There is no
guarantee that a curator will respond.

Review each response's actual amounts, rate and expiry, then select **Fill**
to use the same approval and confirmation flow as any other offer. Requests
use a PT/YT quantity, but response offers still fix the maker's outgoing leg;
the live amount on the other leg can change.

You can withdraw an open request with a wallet signature. Withdrawing or
letting the request expire does **not** cancel offers already signed in
response. Filling one response does not cancel the others either.

## Manage your offers [#manage-your-offers]

Find offers you created under **My OTC orders**.

| Status             | What it means                                                                                    |
| ------------------ | ------------------------------------------------------------------------------------------------ |
| Open               | The offer is available, subject to the checks at execution.                                      |
| Partially filled   | Fills took part of the offer; the rest is still available. The amount shows how much was filled. |
| Underfunded        | Balance or allowance is below what is left of the offer. Topping up can make it fillable again.  |
| Status unavailable | Live status could not be read. Refresh before acting.                                            |
| Expired / Matured  | The offer's deadline or the market's maturity has passed.                                        |
| Filled             | Fills took the whole offer.                                                                      |
| Cancelled          | You cancelled the offer onchain. If part was filled before, the amount shows how much.           |
| Closed             | Filled or cancelled; which one could not be checked yet.                                         |

To withdraw an offer, use its cancel button and confirm the **onchain**
transaction. On a partially filled offer, it cancels what is left; fills
already made stay made. Wait for confirmation: the offer could still fill before
cancellation executes. Hiding an offer or moving its tokens does not cancel
the signature. To change signed terms, cancel the old offer and create a new one.

The [usual PT/YT and yield-source risks](/docs/spectra/security/risk-documentation)
still apply. A quoted APY, private recipient list or factory-deployed market
is not an endorsement of the asset.
