diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index 79afc75..543469f 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import { NavLink } from 'react-router-dom'
import { ReactComponent as Logo } from '@oceanprotocol/art/logo/logo.svg'
+import AccountStatus from './molecules/AccountStatus'
import styles from './Header.module.scss'
import menu from '../data/menu.json'
@@ -27,6 +28,7 @@ const Header = () => (
))}
+
{`${account && account.substring(0, 20)}...`}
diff --git a/src/components/molecules/AccountStatus.module.scss b/src/components/molecules/AccountStatus.module.scss
new file mode 100644
index 0000000..ccbdc9b
--- /dev/null
+++ b/src/components/molecules/AccountStatus.module.scss
@@ -0,0 +1,106 @@
+@import '../../styles/variables';
+
+.status {
+ display: inline-block;
+ position: relative;
+}
+
+// default: red square
+.statusIndicator {
+ width: $font-size-small;
+ height: $font-size-small;
+ display: block;
+ background: $red;
+ margin-bottom: -.1rem;
+}
+
+// yellow triangle
+.statusIndicatorCloseEnough {
+ composes: statusIndicator;
+ background: none;
+ width: 0;
+ height: 0;
+ border-left: $font-size-small / 1.7 solid transparent;
+ border-right: $font-size-small / 1.7 solid transparent;
+ border-bottom: $font-size-small solid $yellow;
+}
+
+// green circle
+.statusIndicatorActive {
+ composes: statusIndicator;
+ border-radius: 50%;
+ background: $green;
+}
+
+$popoverWidth: 18rem;
+
+.popover {
+ position: absolute;
+ top: 1.5rem;
+ right: -($spacer / 3);
+ width: $popoverWidth;
+ padding: $spacer / 2;
+ background: $brand-black;
+ border-radius: .1rem;
+ border: .1rem solid $brand-grey-light;
+ box-shadow: 0 6px 16px 0 rgba($brand-black, .3);
+ color: $brand-grey-light;
+ font-size: $font-size-small;
+
+ &:after {
+ bottom: 100%;
+ right: 2%;
+ border: solid transparent;
+ content: '';
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ border-color: transparent;
+ border-bottom-color: $brand-grey-light;
+ border-width: 10px;
+ margin-left: -10px;
+ }
+}
+
+.popoverInfoline {
+ border-bottom: .05rem solid $brand-grey;
+ padding: $spacer / 3 0;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+
+ &:first-child {
+ padding-top: 0;
+ }
+
+ &:last-child {
+ padding-bottom: 0;
+ border-bottom: 0;
+ }
+
+ button {
+ font-size: $font-size-small;
+ }
+}
+
+.accountName {
+ composes: popoverInfoline;
+ flex-wrap: nowrap;
+
+ // blockies avatar
+ canvas {
+ display: inline-block;
+ border-radius: 50%;
+ overflow: hidden;
+ flex: 0 0 20px;
+ margin-right: $spacer / 4;
+ }
+}
+
+.address {
+ width: 15rem;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx
new file mode 100644
index 0000000..09d9356
--- /dev/null
+++ b/src/components/molecules/AccountStatus.tsx
@@ -0,0 +1,88 @@
+import React, { PureComponent } from 'react'
+// import Blockies from 'react-blockies'
+import Button from '../atoms/Button'
+import { User } from '../../context/User'
+import styles from './AccountStatus.module.scss'
+
+interface AccountStatusState {
+ popoverOpen: boolean
+}
+
+export default class AccountStatus extends PureComponent<
+ {},
+ AccountStatusState
+> {
+ public state = {
+ popoverOpen: false
+ }
+
+ private togglePopover() {
+ this.setState(prevState => ({
+ popoverOpen: !prevState.popoverOpen
+ }))
+ }
+
+ public render() {
+ return (
+