{"record":{"id":"55268e21e1babee4","repo":"nautechsystems/nautilus_trader","slug":"unsupported-order-type-order-type-55268e","errorCode":null,"errorMessage":"Unsupported order type: {order_type:?}","messagePattern":"Unsupported order type: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/kraken/src/http/futures/client.rs","lineNumber":1964,"sourceCode":"                    KrakenFuturesOrderType::Post\n                } else {\n                    match time_in_force {\n                        TimeInForce::Ioc => KrakenFuturesOrderType::Ioc,\n                        TimeInForce::Fok => {\n                            anyhow::bail!(\"FOK not supported by Kraken Futures, use IOC instead\")\n                        }\n                        TimeInForce::Gtd => {\n                            anyhow::bail!(\"GTD not supported by Kraken Futures, use GTC instead\")\n                        }\n                        _ => KrakenFuturesOrderType::Limit, // GTC is default\n                    }\n                }\n            }\n            OrderType::StopMarket | OrderType::StopLimit => KrakenFuturesOrderType::Stop,\n            OrderType::MarketIfTouched | OrderType::LimitIfTouched => {\n                KrakenFuturesOrderType::TakeProfit\n            }\n            _ => anyhow::bail!(\"Unsupported order type: {order_type:?}\"),\n        };\n\n        let kraken_side = KrakenOrderSide::from(order_side);\n\n        let mut builder = KrakenFuturesSendOrderParamsBuilder::default();\n        builder\n            .cli_ord_id(truncate_cl_ord_id(&client_order_id))\n            .broker(NAUTILUS_KRAKEN_BROKER_ID)\n            .symbol(raw_symbol)\n            .side(kraken_side)\n            .size(quantity.to_string())\n            .order_type(kraken_order_type);\n\n        if matches!(\n            order_type,\n            OrderType::StopMarket\n                | OrderType::StopLimit\n                | OrderType::MarketIfTouched","sourceCodeStart":1946,"sourceCodeEnd":1982,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/kraken/src/http/futures/client.rs#L1946-L1982","documentation":"build_send_order_params maps Nautilus OrderTypes to Kraken Futures order kinds; the trailing catch-all bails for any order type without a Kraken Futures mapping (e.g. trailing-stop variants not representable on the venue). This guards against silently sending a wrong order kind.","triggerScenarios":"Calling submit_order or send_order_batches with an order type that falls into the `_` arm — e.g. TrailingStopMarket, TrailingStopLimit — on the Kraken Futures adapter.","commonSituations":"Multi-venue strategies using trailing stops enabled on venues that support them; defaults in strategy config not specialized per venue.","solutions":["Use a supported order type: Limit, Market, StopMarket, StopLimit, MarketIfTouched, or LimitIfTouched.","Emulate trailing behavior client-side by amending Stop orders as the price moves.","Add venue-specific configuration that disables unsupported order types for Kraken Futures."],"exampleFix":"// before\nOrderBuilder::trailing_stop_market(...).build()\n// after\nOrderBuilder::stop_market(...).build()","handlingStrategy":"validation","validationCode":"fn order_type_futures_supported(t: OrderType) -> bool {\n    matches!(t, OrderType::Limit | OrderType::Market | OrderType::StopMarket | OrderType::StopLimit | OrderType::MarketIfTouched | OrderType::LimitIfTouched)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Restrict strategy order types per venue in configuration.","Emulate trailing stops client-side rather than sending them to Kraken Futures.","Add a pre-submission order-type assertion in your risk/emitter layer."],"tags":["kraken","futures","order-type","unsupported"],"backgroundTag":"unsupported-enum-value","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}