Multi-Leg Structures
Build spreads, butterflies, and condors through the RFQ system using the SDK's multi-leg helpers.
How the SDK Detects Structure
The structure is determined entirely by the number of strikes you pass. You do not need to specify the implementation address manually.
strikes.length === 1 → VANILLA (single option)
strikes.length === 2 → SPREAD (2-leg)
strikes.length === 3 → BUTTERFLY (3-leg)
strikes.length === 4 → CONDOR (4-leg)Pass strikes to buildRFQParams or buildRFQRequest as a strikes array (or use the named helpers). The SDK auto-sorts strikes for the correct implementation, selects the right contract implementation, and calculates collateral.
Settlement types: All multi-leg structures are cash-settled only. Physical delivery is available only for vanilla (single-strike) options.
All Option Structures Summary
Vanilla
1
PUT / INVERSE_CALL
N/A
PUT: strike × N / CALL: N
Spread
2
PUT_SPREAD / CALL_SPREAD
PUT: desc, CALL: asc
(upper − lower) × N
Butterfly
3
PUT_FLY / CALL_FLY
PUT: desc, CALL: asc
(middle − lower) × N
Condor
4
PUT_CONDOR / CALL_CONDOR
Always ascending
(strike2 − strike1) × N
Iron Condor
4
IRON_CONDOR
[strike1, strike2, strike3, strike4] ascending
max(putWidth, callWidth) × N
Spread (2 Legs)
A spread limits both max profit and max loss compared to a vanilla option.
buildRFQParams with strikes array
buildSpreadRFQ (named helper)
Butterfly (3 Legs)
A butterfly profits most when the underlying expires near the middle strike, with limited risk on either side.
Full example with real TX hash
Real example (RFQ 784 — PUT BUTTERFLY):
Structure: $1700 / $1800 / $1900 PUT BUTTERFLY
Offer deadline: 04:10:34 UTC
MM offer: 0.000223 USDC at 04:05:45 UTC
Early settlement: 04:07:09 UTC (3 min before deadline)
TX:
0x105f75cdfb64a3796100f6d667bc4f7fec3836d2b5aa5c43b66073a1b40964ee
buildButterflyRFQ (named helper)
Condor (4 Legs)
A condor provides a profit zone between the two middle strikes, combining two spreads.
Full example with real TX hash
Real example (RFQ 785 — PUT CONDOR):
Structure: $1600 / $1700 / $1800 / $1900 PUT CONDOR
MM offer: 0.003248 USDC
Early settlement: 04:15:00 UTC (4 min before deadline)
TX:
0xa89fb6dbad43b430399bbdec878927185e602b7df9b5390f71d2d11c33e4d850Option deployed:
0x20D51d70A51Aa529eb9460a49aAC94910A1bc267
buildCondorRFQ (named helper)
Iron Condor (4 Legs, Mixed)
An iron condor combines a put spread and a call spread with different underlying directions, straddling a range.
Collateral by Structure
Vanilla PUT
strike × N
$2000 × 1 = 2000 USDC
Vanilla CALL
N (underlying)
1 × 1 = 1 WETH
Spread
(upper − lower) × N
($2000 − $1800) × 1 = 200 USDC
Butterfly
(middle − lower) × N
($1900 − $1800) × 1 = 100 USDC
Condor
(strike2 − strike1) × N
($1700 − $1600) × 1 = 100 USDC
Iron Condor
max(putWidth, callWidth) × N
max(100, 100) × 1 = 100 USDC
Strike Ordering
The SDK automatically sorts strikes in the order the contract requires. You can pass them in any order.
Product Type Reference
For collateral formulas and max loss calculations, see the Collateral Cost Reference.
See Also
Create an RFQ — Single-leg vanilla RFQ walkthrough
RFQ Lifecycle — Offer period, reveal phase, and settlement
Early Settlement — Accept a multi-leg offer before the deadline
Last updated

