Trades Options
trades_option
Taker executions on option instruments. Same wire format as perp trades. History TTL is 120 days (vs 30 days for perps) since options can trade infrequently between expiries.
Channel: trades_option:{instrument}
Example: trades_option:BTC_USDC-31OCT25-130000-C
Payload
["150.00", "-10", 1704067200000]| Index | Type | Description |
|---|---|---|
| 0 | string | Price (premium, always positive) |
| 1 | string | Signed size — positive = taker bought, negative = taker sold |
| 2 | integer | Trade execution timestamp (ms) |
Subscribe — Protobuf SDK
import { Centrifuge } from "centrifuge/build/protobuf";
const client = new Centrifuge("wss://staging.kyan.sh/stream/websocket?format=protobuf");
const sub = client.newSubscription("trades_option:BTC_USDC-31OCT25-130000-C");
sub.on("publication", (ctx) => {
const data = ctx.data instanceof Uint8Array
? JSON.parse(new TextDecoder().decode(ctx.data))
: ctx.data;
const [price, signedSize, timestamp] = data;
const side = Number(signedSize) >= 0 ? "buy" : "sell";
});
sub.subscribe();
client.connect();History
Last 100 trades available via the history API on bidirectional transports (120-day TTL). See Transports & Connection for subscribe examples with history fetch.
On reconnect, the SDK automatically recovers missed trades using the last known stream position.
Related channels
Channels providing related data.
| Channel | Why |
|---|---|
| Options BBO | Current top-of-book with mark_price, edge_bid/edge_ask, and Greeks. |
| Options L2 | Full depth context for the book these trades executed against. |
| Index Price | Underlying spot price at time of trade. Needed to compute moneyness. |
| SVI Surface | Vol surface parameters at time of trade. |
| Order Lifecycle | Your private fills with fee breakdown, liquidity indicator, and index price at fill. |
Updated about 2 months ago
