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

# Reference

> Key facts, message types, schemas, and coverage details for the Price API.

## Pricing Modes

The stream supports two pricing modes, controlled by the `gasless` parameter on the WebSocket URL:

| Mode               | Parameter       | Settlement                          | Last look                                | Pricing                |
| ------------------ | --------------- | ----------------------------------- | ---------------------------------------- | ---------------------- |
| **Self-execution** | `gasless=false` | You submit the transaction on-chain | No - quotes are firm once signed         | Slightly wider spreads |
| **Gasless**        | `gasless=true`  | Bebop submits on-chain for you      | Yes - maker can reject before settlement | Tighter spreads        |

**Self-execution** is the default and recommended mode for solvers and aggregators. Since there's no last look, the price you see is firm - but spreads are slightly wider to compensate.

**Gasless** is designed for wallets and super-apps where gasless UX matters. Market makers retain last look, meaning they can reject a quote before settlement. In return, they offer tighter pricing.

<Tip>
  **Choosing the right mode:** If you're a solver or aggregator executing trades yourself, use self-execution. If you're building a wallet where users shouldn't pay gas, use gasless. Make sure your RFQ API quotes match the stream you're subscribed to.
</Tip>

## Quote Expiry

The `expiry_type` parameter controls how long quotes remain valid. Short expiry is only available for self-execution - since gasless quotes are submitted by the maker, the taker doesn't control submission timing.

| Expiry type | Availability               | Window                                 | Best for                                                                        |
| ----------- | -------------------------- | -------------------------------------- | ------------------------------------------------------------------------------- |
| `standard`  | Self-execution and gasless | \~60-75s (varies by chain)             | Most integrators - easier to manage, more time to sign and submit               |
| `short`     | Self-execution only        | \~5s on Ethereum, \~3s on other chains | Latency-sensitive solvers - must submit by end of block, but pricing is tighter |

Short expiry quotes offer better prices because the market maker's risk window is smaller. However, they require fast execution infrastructure - you need to sign and broadcast within a single block.

<Warning>
  If you request `short` expiry quotes from the RFQ API, subscribe to the `short` expiry pricing stream to get matching indicative prices. Mixing expiry types between the stream and firm quotes will give you inaccurate pre-trade estimates.
</Warning>
