diff --git a/packages/core/src/public/images/common/static_images/accumulator_description_dark.mp4 b/packages/core/src/public/images/common/static_images/accumulator_description_dark.mp4
new file mode 100644
index 000000000000..3f2677dbefdb
Binary files /dev/null and b/packages/core/src/public/images/common/static_images/accumulator_description_dark.mp4 differ
diff --git a/packages/core/src/public/images/common/static_images/accumulator_description_dark.webm b/packages/core/src/public/images/common/static_images/accumulator_description_dark.webm
new file mode 100644
index 000000000000..1a97a9c69220
Binary files /dev/null and b/packages/core/src/public/images/common/static_images/accumulator_description_dark.webm differ
diff --git a/packages/core/src/public/images/common/static_images/accumulator_description_light.mp4 b/packages/core/src/public/images/common/static_images/accumulator_description_light.mp4
new file mode 100644
index 000000000000..63cc64c25cca
Binary files /dev/null and b/packages/core/src/public/images/common/static_images/accumulator_description_light.mp4 differ
diff --git a/packages/core/src/public/images/common/static_images/accumulator_description_light.webm b/packages/core/src/public/images/common/static_images/accumulator_description_light.webm
new file mode 100644
index 000000000000..8458b6252091
Binary files /dev/null and b/packages/core/src/public/images/common/static_images/accumulator_description_light.webm differ
diff --git a/packages/trader/src/Assets/SvgComponents/trade_explanations/img-accumulator.svg b/packages/trader/src/Assets/SvgComponents/trade_explanations/img-accumulator.svg
deleted file mode 100644
index 3288abe893c8..000000000000
--- a/packages/trader/src/Assets/SvgComponents/trade_explanations/img-accumulator.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/packages/trader/src/Assets/Trading/Categories/contract-type-description-video.tsx b/packages/trader/src/Assets/Trading/Categories/contract-type-description-video.tsx
new file mode 100644
index 000000000000..7eda40b8a33a
--- /dev/null
+++ b/packages/trader/src/Assets/Trading/Categories/contract-type-description-video.tsx
@@ -0,0 +1,46 @@
+import React from 'react';
+import { localize } from '@deriv/translations';
+import { getUrlBase, isMobile } from '@deriv/shared';
+import { useStore } from '@deriv/stores';
+
+const ContractTypeDescriptionVideo = ({ selected_contract_type }: { selected_contract_type: string }) => {
+ const { ui } = useStore();
+ const { is_dark_mode_on: is_dark_theme } = ui;
+ const getVideoSource = React.useCallback(
+ (extension: 'mp4' | 'webm') => {
+ return getUrlBase(
+ `/public/images/common/${selected_contract_type}_description${
+ is_dark_theme ? '_dark' : '_light'
+ }.${extension}`
+ );
+ },
+ [is_dark_theme, selected_contract_type]
+ );
+
+ // memoize file paths for videos and open the modal only after we get them
+ const mp4_src = React.useMemo(() => getVideoSource('mp4'), [getVideoSource]);
+ const webm_src = React.useMemo(() => getVideoSource('webm'), [getVideoSource]);
+
+ if (selected_contract_type !== 'accumulator') return null;
+ return (
+
+ );
+};
+
+export default React.memo(ContractTypeDescriptionVideo);
diff --git a/packages/trader/src/Assets/Trading/Categories/trade-categories-gif.jsx b/packages/trader/src/Assets/Trading/Categories/trade-categories-gif.jsx
index 1eff98d0f0c4..6d94956deec6 100644
--- a/packages/trader/src/Assets/Trading/Categories/trade-categories-gif.jsx
+++ b/packages/trader/src/Assets/Trading/Categories/trade-categories-gif.jsx
@@ -14,13 +14,13 @@ import ImageReset from 'Assets/SvgComponents/trade_explanations/img-reset.svg';
import ImageRiseFall from 'Assets/SvgComponents/trade_explanations/img-rise-fall.svg';
import ImageRunHighLow from 'Assets/SvgComponents/trade_explanations/img-run-high-low.svg';
import ImageSpread from 'Assets/SvgComponents/trade_explanations/img-spread.svg';
-import ImageAccumulator from 'Assets/SvgComponents/trade_explanations/img-accumulator.svg';
import ImageTickHighLow from 'Assets/SvgComponents/trade_explanations/img-tick-high-low.svg';
import ImageTouch from 'Assets/SvgComponents/trade_explanations/img-touch.svg';
import ImageVanilla from 'Assets/SvgComponents/trade_explanations/img-vanilla.svg';
+import ContractTypeDescriptionVideo from './contract-type-description-video';
// TODO: Replace static image svgs with themed GIFs or animated SVGs
-const TradeCategoriesGIF = ({ category }) => {
+const TradeCategoriesGIF = ({ category, selected_contract_type }) => {
switch (category) {
case 'asian':
return