Bebop exposes three WebSocket endpoints for maker integrations.
All WebSocket messages must be sent as bytes, not text. Most WebSocket libraries expose this as a setting.
Endpoints
| Endpoint | URL | Messages |
|---|
| Pricing | wss://api.bebop.xyz/pmm/<chain>/v3/maker/pricing?format=protobuf | Stream levels to Bebop (Protobuf) |
| Quotes | wss://api.bebop.xyz/pmm/<chain>/v3/maker/quote | Respond to taker_quote requests |
| Trades | wss://api.bebop.xyz/pmm/<chain>/v3/maker/trades | Receive trades executed against your quotes |
<chain> is the lowercase slug of a supported chain (ethereum, arbitrum, base, and so on). See Settlement contract for the full list.
Auth
Include your API key as a Bearer token in the Authorization header on every WebSocket connection:
Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Your key comes from Bebop. Request it via the support page; Bebop issues test credentials first and production credentials once /maker-status passes. See Credentials and environments.