How the taker works
The taker sells an option. For a call, the taker deposits the underlying asset. For a put, the taker deposits the funds needed to buy that asset at the strike. The premium, minus fees, is paid when the position opens.
Before requesting a quote
Connect to /taker. Markets can be read before authentication. Trading needs a wallet signature and, while invites are enabled, a redeemed invite code.
Read the market descriptor for the market PDA, expiry, asset pair, decimals and size rules. RFQ quantity is measured in underlying atomic units for both calls and puts. For a SOL put, request the quantity in SOL atoms, not the USDC deposit amount.
From request to position
- Send
RfqRequestwith the market, quantity and requested strike or strike options. - Receive quotes.
- Send
AcceptQuotefor the selectedorder_idand maker. - Receive
SponsoredTxToSign. Verify the transaction against the accepted order, then sign the taker's slot. - Send
SubmitSignedSponsoredTxbefore the signing deadline. - Track
OrderAccepted,OrderSubmittedandOrderConfirmed.OrderConfirmedreports the opened position.
The full quantity fills or nothing does. Expired quotes are rejected.
After a timeout or reconnect
A timed-out or failed transaction may still have landed. Resume or re-authenticate, then call GetOrderStatus for the accepted order_id before accepting another quote.
At expiry
After expiry and oracle finalization, the taker receives the original collateral or exchanges it at the strike, depending on the settlement price. For an in-the-money settlement, the maker supplies the asset paid to the taker.
See Options and settlement for funded, unfunded and liquidation outcomes.
Build an integration
Start with the Taker quickstart. The TypeScript client SDK has signing helpers, and Taker wire examples show a complete exchange. Message fields are in the Taker API reference.
Vaults write options from vault custody under operator authorization. See Managing a vault.