diff --git a/ui/app/components/ui/icon/close-icon.component.js b/ui/app/components/ui/icon/close-icon.component.js
new file mode 100644
index 000000000..05a94ac71
--- /dev/null
+++ b/ui/app/components/ui/icon/close-icon.component.js
@@ -0,0 +1,36 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+
+const Copy = ({
+ className,
+ size,
+ color,
+}) => (
+
+
+
+)
+
+Copy.defaultProps = {
+ className: undefined,
+}
+
+Copy.propTypes = {
+ className: PropTypes.string,
+ size: PropTypes.number.isRequired,
+ color: PropTypes.string.isRequired,
+}
+
+export default Copy
diff --git a/ui/app/components/ui/icon/icon.stories.js b/ui/app/components/ui/icon/icon.stories.js
index 73d25e6fd..871bc1967 100644
--- a/ui/app/components/ui/icon/icon.stories.js
+++ b/ui/app/components/ui/icon/icon.stories.js
@@ -1,6 +1,7 @@
import React from 'react'
import Approve from './approve-icon.component'
import Copy from './copy-icon.component'
+import Close from './close-icon.component'
import Interaction from './interaction-icon.component'
import Preloader from './preloader'
import Receive from './receive-icon.component'
@@ -51,3 +52,10 @@ export const preloader = () => (
size={number('size', 40)}
/>
)
+
+export const close = () => (
+
+)
diff --git a/ui/app/components/ui/popover/index.js b/ui/app/components/ui/popover/index.js
new file mode 100644
index 000000000..416fee51a
--- /dev/null
+++ b/ui/app/components/ui/popover/index.js
@@ -0,0 +1,3 @@
+import Item from './popover.component'
+
+export default Item
diff --git a/ui/app/components/ui/popover/index.scss b/ui/app/components/ui/popover/index.scss
new file mode 100644
index 000000000..a87561693
--- /dev/null
+++ b/ui/app/components/ui/popover/index.scss
@@ -0,0 +1,79 @@
+.popover {
+ &-wrap {
+ ::-webkit-scrollbar {
+ width: 6px;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ background: #C4C4C4;
+ }
+
+ position: absolute;
+ width: 328px;
+ height: 564px;
+
+ box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.25);
+ border-radius: 10px;
+ background: white;
+ }
+
+ &-header {
+ &__heading {
+ @extend %font;
+ font-weight: bold;
+ font-size: 18px;
+ line-height: 25px;
+ text-align: center;
+ padding: 20px 0;
+ border-bottom: 1px solid #DDDEE9;
+ }
+
+ &__close {
+ position: absolute;
+ top: 13px;
+ right: 6px;
+ margin: 10px;
+ background: none;
+ padding: 0;
+ &::-moz-focus-inner {
+ border: none;
+ }
+ }
+ }
+
+ &-bg {
+ width: 100%;
+ height: 100%;
+ background: black;
+ opacity: 20%;
+ }
+
+ &-content {
+ padding: 0 5px 0 16px;
+ margin-top: 5px;
+ margin-bottom: -10px;
+ margin-right: 5px;
+ height: calc(100% - 66px - 10px);
+ overflow-y: scroll;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: stretch;
+ align-content: stretch;
+ }
+
+ &-container {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 1050;
+ }
+}
diff --git a/ui/app/components/ui/popover/popover.component.js b/ui/app/components/ui/popover/popover.component.js
new file mode 100644
index 000000000..7fac5de80
--- /dev/null
+++ b/ui/app/components/ui/popover/popover.component.js
@@ -0,0 +1,23 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+import PopoverHeader from './popover.header.component'
+
+const Popover = ({ title, children, onClose }) => (
+
+)
+
+Popover.propTypes = {
+ title: PropTypes.string.isRequired,
+ children: PropTypes.node.isRequired,
+ onClose: PropTypes.func.isRequired,
+}
+
+export default Popover
diff --git a/ui/app/components/ui/popover/popover.header.component.js b/ui/app/components/ui/popover/popover.header.component.js
new file mode 100644
index 000000000..d1f6099ae
--- /dev/null
+++ b/ui/app/components/ui/popover/popover.header.component.js
@@ -0,0 +1,22 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+import Close from '../icon/close-icon.component'
+
+const PopoverHeader = ({ title, onClose }) => (
+
+)
+
+PopoverHeader.propTypes = {
+ title: PropTypes.string.isRequired,
+ onClose: PropTypes.func.isRequired,
+}
+
+export default PopoverHeader
diff --git a/ui/app/components/ui/popover/popover.stories.js b/ui/app/components/ui/popover/popover.stories.js
new file mode 100644
index 000000000..3edeef126
--- /dev/null
+++ b/ui/app/components/ui/popover/popover.stories.js
@@ -0,0 +1,24 @@
+import React from 'react'
+import Popover from './popover.component'
+import { text } from '@storybook/addon-knobs/react'
+import { action } from '@storybook/addon-actions'
+
+const containerStyle = {
+ width: 800,
+ height: 600,
+ background: 'pink',
+ position: 'relative',
+}
+
+export default {
+ title: 'Popover',
+}
+
+export const approve = () => (
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper eget duis at tellus at urna condimentum. Posuere urna nec tincidunt praesent semper. Arcu dictum varius duis at. A lacus vestibulum sed arcu. Orci porta non pulvinar neque laoreet suspendisse interdum. Pretium fusce id velit ut. Ut consequat semper viverra nam libero justo laoreet sit. In ante metus dictum at tempor commodo ullamcorper a lacus. Posuere morbi leo urna molestie at elementum eu facilisis sed. Libero enim sed faucibus turpis in eu mi bibendum neque. Amet massa vitae tortor condimentum lacinia quis. Pretium viverra suspendisse potenti nullam ac. Pellentesque elit eget gravida cum sociis natoque penatibus. Proin libero nunc consequat interdum varius sit amet. Est ultricies integer quis auctor elit sed vulputate. Ornare arcu odio ut sem nulla pharetra. Eget nullam non nisi est sit. Leo vel fringilla est ullamcorper eget nulla.
+ Mattis pellentesque id nibh tortor id. Commodo sed egestas egestas fringilla phasellus. Semper eget duis at tellus at urna. Tristique nulla aliquet enim tortor at auctor urna nunc. Pellentesque habitant morbi tristique senectus et netus et. Turpis egestas sed tempus urna et pharetra pharetra massa massa. Mi eget mauris pharetra et ultrices neque ornare aenean. Facilisis volutpat est velit egestas dui id ornare arcu odio. Lacus sed turpis tincidunt id aliquet risus feugiat in. Cras tincidunt lobortis feugiat vivamus. Blandit libero volutpat sed cras ornare arcu. Facilisi morbi tempus iaculis urna id volutpat. Risus viverra adipiscing at in tellus. Leo vel orci porta non pulvinar neque. Malesuada fames ac turpis egestas integer. Euismod nisi porta lorem mollis aliquam.
+
+
+)
diff --git a/ui/app/css/itcss/components/index.scss b/ui/app/css/itcss/components/index.scss
index d3866f5ce..d1697c564 100644
--- a/ui/app/css/itcss/components/index.scss
+++ b/ui/app/css/itcss/components/index.scss
@@ -2,6 +2,7 @@
@import '../../../components/ui/dialog/dialog';
@import '../../../components/ui/snackbar/index';
@import '../../../components/ui/list-item/index';
+@import '../../../components/ui/popover/index';
@import '../../../components/ui/icon/preloader/index';
@import './footer.scss';