diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql
index a57118e06ff7a083b79b5aaa64fc49092fddeb6e..f2fe3b632c30d5fb786a4d97e0df0e4e4336fd16 100644
--- a/lib/modules/gva/resources/schema.gql
+++ b/lib/modules/gva/resources/schema.gql
@@ -15,6 +15,7 @@ type Query {
     step: Int = 1,
     sortOrder: SortOrder = ASC
   ): BlocksPage! @juniper(ownership: "owned")
+  currentUd: CurrentUd @juniper(ownership: "owned")
 }
 
 type Mutation {
@@ -93,3 +94,16 @@ type Block {
 #################################
 
 scalar DateTimeUtc @juniper(with_time_zone: false)
+
+#################################
+# CurrentUd types
+#################################
+
+type CurrentUd {
+  amount: Int!
+  base: Int!
+  blockNumber: Int!
+  commonTime: DateTimeUtc!
+  membersCount: Int!
+  monetaryMass: Int!
+}
\ No newline at end of file
diff --git a/lib/modules/gva/src/schema.rs b/lib/modules/gva/src/schema.rs
index 1680be6b4753fb1ef74e489620048935622b618a..6ac93199f36630cdb5d56a7a76b058fefdf4dbcf 100644
--- a/lib/modules/gva/src/schema.rs
+++ b/lib/modules/gva/src/schema.rs
@@ -21,6 +21,7 @@ mod queries;
 
 use self::entities::block::Block;
 use self::entities::blocks_page::BlocksPage;
+use self::entities::current_ud::CurrentUd;
 use self::entities::node::{Node, Summary};
 use crate::context::QueryContext;
 #[cfg(not(test))]
@@ -118,6 +119,21 @@ impl QueryFields for Query {
             }
         }
     }
+    #[inline]
+    fn field_current_ud(
+        &self,
+        executor: &Executor<'_, QueryContext>,
+        trail: &QueryTrail<'_, CurrentUd, Walked>,
+    ) -> FieldResult<Option<CurrentUd>> {
+        let db = executor.context().get_db();
+        cfg_if::cfg_if! {
+            if #[cfg(not(test))] {
+                db.read(|r| queries::current_ud::execute(&BcDbRoWithReader { db, r }, trail)).map_err(Into::into)
+            } else {
+                queries::current_ud::execute(db, trail).map_err(Into::into)
+            }
+        }
+    }
 }
 
 pub struct Mutation;
diff --git a/lib/modules/gva/src/schema/entities.rs b/lib/modules/gva/src/schema/entities.rs
index c277e3739ea0f7c6b41a4e374c316e3be04d665b..523b6a827f59a7b19a5da932e6b39d75a88f5f9b 100644
--- a/lib/modules/gva/src/schema/entities.rs
+++ b/lib/modules/gva/src/schema/entities.rs
@@ -17,4 +17,5 @@
 
 pub mod block;
 pub mod blocks_page;
+pub mod current_ud;
 pub mod node;
diff --git a/lib/modules/gva/src/schema/entities/current_ud.rs b/lib/modules/gva/src/schema/entities/current_ud.rs
new file mode 100644
index 0000000000000000000000000000000000000000..3a7871acf7f52cbdf63a5b1673934186932b7ef3
--- /dev/null
+++ b/lib/modules/gva/src/schema/entities/current_ud.rs
@@ -0,0 +1,73 @@
+//  Copyright (C) 2017-2019  The AXIOM TEAM Association.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+// ! Module define graphql BlockCurrent UD type
+use crate::context::QueryContext;
+use chrono::NaiveDateTime;
+use durs_bc_db_reader::current_metadata::current_ud::CurrentUdDb;
+use juniper::{Executor, FieldResult};
+
+pub struct CurrentUd {
+    pub amount: i32,
+    pub base: i32,
+    pub block_number: i32,
+    pub common_time: NaiveDateTime,
+    pub members_count: i32,
+    pub monetary_mass: i32,
+}
+
+impl CurrentUd {
+    // Convert BloCurrentUdDb (db entity) into CurrentUd (gva entity)
+    pub(crate) fn from_current_du_db(current_du_db: CurrentUdDb) -> CurrentUd {
+        CurrentUd {
+            amount: current_du_db.amount as i32,
+            base: current_du_db.base as i32,
+            block_number: current_du_db.block_number.0 as i32,
+            common_time: NaiveDateTime::from_timestamp(current_du_db.common_time as i64, 0),
+            members_count: current_du_db.members_count as i32,
+            monetary_mass: current_du_db.monetary_mass as i32,
+        }
+    }
+}
+
+impl super::super::CurrentUdFields for CurrentUd {
+    #[inline]
+    fn field_amount(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+        Ok(&self.amount)
+    }
+    #[inline]
+    fn field_base(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+        Ok(&self.base)
+    }
+    #[inline]
+    fn field_block_number(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+        Ok(&self.block_number)
+    }
+    #[inline]
+    fn field_common_time(
+        &self,
+        _executor: &Executor<'_, QueryContext>,
+    ) -> FieldResult<&NaiveDateTime> {
+        Ok(&self.common_time)
+    }
+    #[inline]
+    fn field_members_count(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+        Ok(&self.members_count)
+    }
+    #[inline]
+    fn field_monetary_mass(&self, _executor: &Executor<'_, QueryContext>) -> FieldResult<&i32> {
+        Ok(&self.monetary_mass)
+    }
+}
diff --git a/lib/modules/gva/src/schema/queries.rs b/lib/modules/gva/src/schema/queries.rs
index 1cf29e5abe77dc05f26efa128b928951d173b422..d8f9bc717f406d9c317245d83e18da5cf03e1770 100644
--- a/lib/modules/gva/src/schema/queries.rs
+++ b/lib/modules/gva/src/schema/queries.rs
@@ -18,6 +18,7 @@
 pub mod block;
 pub mod blocks;
 pub mod current;
+pub mod current_ud;
 pub mod node;
 
 #[cfg(test)]
diff --git a/lib/modules/gva/src/schema/queries/current_ud.rs b/lib/modules/gva/src/schema/queries/current_ud.rs
new file mode 100644
index 0000000000000000000000000000000000000000..282bc739adb3f63e4073171434379b0a305f91fc
--- /dev/null
+++ b/lib/modules/gva/src/schema/queries/current_ud.rs
@@ -0,0 +1,76 @@
+//  Copyright (C) 2017-2019  The AXIOM TEAM Association.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+// ! Module execute GraphQl schema currentUd query
+use crate::schema::entities::current_ud::CurrentUd;
+use durs_bc_db_reader::{BcDbInReadTx, DbError};
+use juniper_from_schema::{QueryTrail, Walked};
+
+pub(crate) fn execute<DB: BcDbInReadTx>(
+    db: &DB,
+    _trail: &QueryTrail<'_, CurrentUd, Walked>,
+) -> Result<Option<CurrentUd>, DbError> {
+    Ok(db
+        .get_current_ud()?
+        .map(|current_ud_db| CurrentUd::from_current_du_db(current_ud_db)))
+}
+
+#[cfg(test)]
+mod tests {
+    use crate::db::BcDbRo;
+    use crate::schema::queries::tests;
+    use dubp_common_doc::BlockNumber;
+    use durs_bc_db_reader::current_metadata::current_ud::CurrentUdDb;
+    use serde_json::json;
+
+    static mut DB_TEST_CURRENT_UD_1: Option<BcDbRo> = None;
+
+    #[test]
+    fn test_graphql_current_ud() {
+        let mut mock_db = BcDbRo::new();
+
+        // Define mock db expectations here
+
+        mock_db.expect_get_current_ud().times(1).returning(|| {
+            Ok(Some(CurrentUdDb {
+                amount: 1_000,
+                base: 0,
+                block_number: BlockNumber(1),
+                common_time: 1_488_987_127,
+                members_count: 59,
+                monetary_mass: 59_000,
+            }))
+        });
+
+        let schema = tests::setup(mock_db, unsafe { &mut DB_TEST_CURRENT_UD_1 });
+
+        tests::test_gql_query(
+            schema,
+            "{ currentUd { amount, base, blockNumber, commonTime, membersCount, monetaryMass } }",
+            json!({
+                "data": {
+                    "currentUd": {
+                        "amount": 1_000,
+                        "base": 0,
+                        "blockNumber": 1,
+                        "commonTime": 1_488_987_127.0,
+                        "membersCount": 59,
+                        "monetaryMass": 59000
+                    }
+                }
+            }),
+        )
+    }
+}