diff --git a/src/views/dialogs/ExternalNavKeplrDialog.tsx b/src/views/dialogs/ExternalNavKeplrDialog.tsx
new file mode 100644
index 0000000..505d2a2
--- /dev/null
+++ b/src/views/dialogs/ExternalNavKeplrDialog.tsx
@@ -0,0 +1,107 @@
+import styled, { type AnyStyledComponent } from 'styled-components';
+
+import { ButtonAction, ButtonSize, ButtonType } from '@/constants/buttons';
+import { STRING_KEYS } from '@/constants/localization';
+import { useBreakpoints, useStringGetter } from '@/hooks';
+
+import { Button } from '@/components/Button';
+import { Dialog, DialogPlacement } from '@/components/Dialog';
+import { IconName } from '@/components/Icon';
+import { IconButton } from '@/components/IconButton';
+
+import { layoutMixins } from '@/styles/layoutMixins';
+
+type ElementProps = {
+ setIsOpen: (open: boolean) => void;
+};
+
+// TODO: replace placeholder URL with real URLs when avaialble
+const KEPLR_DASHBOARD_URL = 'https://testnet.keplr.app/';
+const HELP_URL = 'https://help.dydx.exchange/en/articles/2921366-how-do-i-create-an-account-or-sign-up';
+
+export const ExternalNavKeplrDialog = ({ setIsOpen }: ElementProps) => {
+ const stringGetter = useStringGetter();
+ const { isTablet } = useBreakpoints();
+
+ return (
+
+ );
+};
+
+const Styled: Record = {};
+
+Styled.TextToggle = styled.div`
+ ${layoutMixins.stickyFooter}
+ color: var(--color-accent);
+ cursor: pointer;
+
+ margin-top: auto;
+
+ &:hover {
+ text-decoration: underline;
+ }
+`;
+
+Styled.Content = styled.div`
+ ${layoutMixins.stickyArea0}
+ --stickyArea0-bottomHeight: 2rem;
+ --stickyArea0-bottomGap: 1rem;
+ --stickyArea0-totalInsetBottom: 0.5rem;
+
+ ${layoutMixins.flexColumn}
+ gap: 1rem;
+`;
+
+Styled.Button = styled(Button)`
+ --button-font: var(--font-base-book);
+ --button-padding: 0 1.5rem;
+
+ gap: 0;
+
+ justify-content: space-between;
+`;
+
+Styled.IconButton = styled(IconButton)`
+ color: var(--color-text-0);
+`;