diff --git a/ui/component/router/view.jsx b/ui/component/router/view.jsx
index 92e3c751e..ee36283f8 100644
--- a/ui/component/router/view.jsx
+++ b/ui/component/router/view.jsx
@@ -48,6 +48,7 @@ import RepostNew from 'page/repost';
import BuyPage from 'page/buy';
import ReceivePage from 'page/receive';
import SendPage from 'page/send';
+import SwapPage from 'page/swap';
import NotificationsPage from 'page/notifications';
import SignInWalletPasswordPage from 'page/signInWalletPassword';
import YoutubeSyncPage from 'page/youtubeSync';
@@ -285,6 +286,7 @@ function AppRouter(props: Props) {
diff --git a/ui/constants/pages.js b/ui/constants/pages.js
index 2623d581e..2623f3c2a 100644
--- a/ui/constants/pages.js
+++ b/ui/constants/pages.js
@@ -59,6 +59,7 @@ exports.CODE_2257 = '2257';
exports.BUY = 'buy';
exports.RECEIVE = 'receive';
exports.SEND = 'send';
+exports.SWAP = 'swap';
exports.CHANNEL_NEW = 'channel/new';
exports.NOTIFICATIONS = 'notifications';
exports.YOUTUBE_SYNC = 'youtube';
diff --git a/ui/page/swap/index.js b/ui/page/swap/index.js
new file mode 100644
index 000000000..8d853b9cf
--- /dev/null
+++ b/ui/page/swap/index.js
@@ -0,0 +1,6 @@
+import { connect } from 'react-redux';
+import SwapPage from './view';
+
+const select = (state) => ({});
+
+export default connect(select, null)(SwapPage);
diff --git a/ui/page/swap/view.jsx b/ui/page/swap/view.jsx
new file mode 100644
index 000000000..74964f563
--- /dev/null
+++ b/ui/page/swap/view.jsx
@@ -0,0 +1,23 @@
+// @flow
+import React from 'react';
+import Page from 'component/page';
+import LbcSymbol from 'component/common/lbc-symbol';
+
+type Props = {};
+
+export default function SwapPage(props: Props) {
+ return (
+