Signalplus RFQ (Bullish vs Deribit)
Bullish RFQ API Migration Guide
The Bullish RFQ API is largely plug-compatible with Deribit’s RFQ API. We deliberately kept the same structures, authentication flow, and method shapes so migration work remains minimal.
✅ Bottom line: it’s ~95% identical — only a few small tweaks:
Topic string structure
AON-only execution
Quick WebSocket auth call after connect
✅ What’s the Same
Protocol & Authentication
Uses the same JSON-RPC style.
HMAC signing with timestamp and nonce concepts identical to Deribit.
Your existing auth middleware is fully reusable.
Method Shapes
Core methods remain aligned in both naming and payload structure:
create_rfq
create_quote
edit_quote
cancel_quote
trade
get_trades
instrument discovery
RFQ & Quote Payloads
Concepts such as:
bids
/asks
maker
price
expiresAt
,lastUpdatedAt
…are identical between Bullish and Deribit.
⚙️ What’s Different (Migration Points)
1. WebSocket Subscription Keying
Deribit
topic per currency
block_rfq.taker.btc
Bullish
topic per accountId
block_rfq.taker.{accountId}.any
🔧 Action: Update your topic builder logic from currency → accountId.
2. Execution Instruction Scope
Bullish supports
AON
(All-or-None) only.Deribit supported
APO
(Any-Part-Of) as well.
🔧 Action: Replace any
APO
paths withAON
.
3. WebSocket Authentication
After opening the WS connection, call
private/auth
once.Signing inputs (key, timestamp, signature) are identical to REST auth.
🔧 Action: Add a one-time auth call immediately after connecting.
4. Heartbeat (Optional)
Bullish exposes a lightweight public/heartbeat
endpoint.
🩺 Optional: Ping once per minute and wire into your health-checker logic.
5. MMP Controls
Deribit surfaces RFQ-specific MMP configs and events.
Bullish currently does not expose an equivalent.
⚠️ Action: Guard any Deribit-only MMP logic behind a feature flag.
🧭 One-Page Migration Checklist
WS Topics
Change from block_rfq.[role].{currency}
→ block_rfq.[role].{accountId}.any
WS Auth
Add one-time private/auth
after connect
Execution
Normalize executionInstruction
to AON
Signing
Reuse existing auth/signing headers
Heartbeat
(Optional) Integrate public/heartbeat
MMP Logic
(Optional) Feature-flag Deribit-only logic
Last updated