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

# How to Fill a Collateralized Block Offer on Canopy

Filling an offer on Canopy is an atomic on-chain exchange: you send quote tokens, and the protocol either delivers the seller's escrowed asset tokens immediately (spot) or mints ERC-20 claim tokens representing your deferred position (forward). The protocol enforces price accuracy, your slippage limits, and any buyer restriction in a single transaction — if any condition is not met, the entire fill reverts and your funds are returned. No partial execution at an unexpected price is possible.

## Steps

<Steps>
  <Step title="Browse markets and find an offer">
    Open the Canopy terminal at [https://canopy.trade](https://canopy.trade) and select a market from the left-hand panel. Scan the **SELL** side of the order book for offers at prices you find attractive. Each row shows the remaining size and ask price at a glance.
  </Step>

  <Step title="Open the offer detail panel">
    Click the offer row you want to fill. The **Offer Detail** panel opens on the right side of the terminal, showing the full offer terms: total size, filled amount, remaining available size, price, expiry, settlement type (spot or forward), unlock time (if forward), and buyer restriction (if private).
  </Step>

  <Step title="Enter the amount you want to buy">
    In the **Buy Amount** field, type the quantity of asset tokens you want to purchase. You can enter any amount from the minimum fill size up to the total remaining offer size. The interface calculates and displays the exact quote token cost as you type.
  </Step>

  <Step title="Review the required quote amount">
    Confirm the **Quote Required** figure shown beneath the buy amount field. This number is calculated from the offer's on-chain price applied to your requested fill size. It represents the base cost before protocol fees. The **Total Cost** (including fee) is also displayed.
  </Step>

  <Step title="Set your slippage tolerances">
    The Canopy fill form exposes three slippage parameters that protect you from unexpected outcomes:

    | Parameter               | Purpose                                                                                                                                                   |
    | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Max Quote Debited**   | The maximum total quote tokens debited from your wallet (cost + fee + any transfer taxes). The fill reverts if your total outlay would exceed this value. |
    | **Min Assets Received** | The minimum asset tokens you must receive. The fill reverts if the delivered amount would fall below this value.                                          |
    | **Min Seller Proceeds** | The minimum quote tokens the seller must receive net of any transfer fees. The fill reverts if the seller would receive less than this amount.            |

    The UI pre-fills conservative defaults based on current market conditions. You can tighten or loosen these values before submitting. For most fills at the quoted price, the defaults are sufficient.
  </Step>

  <Step title="Approve quote token spending">
    If you have not previously approved the venue to spend your quote token (e.g., USDC), click **Approve** and confirm the approval transaction in your wallet. This is a one-time approval per quote token — future fills in the same quote token skip this step.
  </Step>

  <Step title="Click &#x22;Fill Offer&#x22; and confirm in your wallet">
    Click **Fill Offer**. Your wallet will show a transaction confirmation prompt with the contract call details and estimated gas fee. Review the information and click **Confirm** to broadcast the transaction to Robinhood Chain.
  </Step>

  <Step title="Receive your assets or claim tokens">
    Once the transaction confirms, the outcome depends on the offer's settlement type:

    * **Spot offer** — the asset tokens arrive in your connected wallet immediately upon confirmation. You can verify the balance in your wallet or on the block explorer.
    * **Forward offer** — ERC-20 claim tokens arrive in your connected wallet. These tokens represent your fully collateralized, deferred position and become redeemable for the underlying asset after the offer's unlock time. Track them under the **My Claims** tab in the terminal.
  </Step>
</Steps>

## Partial Fills

You are never required to fill an entire offer. Enter any amount up to the remaining offer size, and only that portion of the seller's collateral is exchanged. The unfilled remainder stays in the order book at the original price and remains available to you or any other eligible buyer.

## Private Offers

<Note>
  If an offer has a buyer restriction, only the designated wallet address can fill it. In the order book, restricted offers display a **lock icon**. If your connected wallet does not match the restriction, the offer row will appear greyed out and the **Fill Offer** button will remain disabled — the protocol enforces this check on-chain, not just in the UI.
</Note>

## Tips and Notes

<Tip>
  For large fills, consider splitting your purchase into multiple smaller tranches rather than filling the full amount in one transaction. This gives you more control over your average cost, lets you pause if market conditions shift, and reduces the risk of a single large fill reverting due to a tight **Max Quote Debited** limit.
</Tip>

<Note>
  Claim tokens received from forward fills are standard ERC-20 tokens. You can hold them in your wallet, transfer them to another address, or add them to your wallet's token watchlist using the contract address shown in the **Series Details** panel. Regardless of who holds the claim token at the unlock time, the holder is entitled to redeem it for the underlying escrowed asset.
</Note>
