diff --git a/rust-bins/duniter-dbex/src/cli.rs b/rust-bins/duniter-dbex/src/cli.rs
index 205a07bcc837684d1032f7f3aef0bd79980c8768..3f47cdb68fd94f770f744e00a2423975d06eb0c7 100644
--- a/rust-bins/duniter-dbex/src/cli.rs
+++ b/rust-bins/duniter-dbex/src/cli.rs
@@ -39,7 +39,7 @@ pub struct Opt {
 pub enum Database {
     BcV1,
     BcV2,
-    DunpV1,
+    NetworkV1,
     GvaV1,
     TxsMpV2,
 }
@@ -51,7 +51,7 @@ impl FromStr for Database {
         match s {
             "bc_v1" => Ok(Self::BcV1),
             "bc_v2" => Ok(Self::BcV2),
-            "dunp_v1" => Ok(Self::DunpV1),
+            "dunp_v1" => Ok(Self::NetworkV1),
             "gva_v1" => Ok(Self::GvaV1),
             "txs_mp_v2" => Ok(Self::TxsMpV2),
             _ => unreachable!(),
diff --git a/rust-bins/duniter-dbex/src/main.rs b/rust-bins/duniter-dbex/src/main.rs
index 00cf5abcd3d070e4b1cf3fd8b5f030e4d037d916..90cf5770cd9086187d2960d69d99bfda78fa4458 100644
--- a/rust-bins/duniter-dbex/src/main.rs
+++ b/rust-bins/duniter-dbex/src/main.rs
@@ -35,7 +35,7 @@ use comfy_table::Table;
 use duniter_dbs::databases::{
     bc_v1::{BcV1Db, BcV1DbWritable},
     bc_v2::{BcV2Db, BcV2DbWritable},
-    dunp_v1::{DunpV1Db, DunpV1DbWritable},
+    network_v1::{NetworkV1Db, NetworkV1DbWritable},
     txs_mp_v2::{TxsMpV2Db, TxsMpV2DbWritable},
 };
 use duniter_dbs::kv_typed::prelude::*;
@@ -120,9 +120,9 @@ fn main() -> anyhow::Result<()> {
                     opt.cmd,
                     open_db_start_time,
                 ),
-                Database::DunpV1 => apply_subcommand(
-                    DunpV1Db::<Sled>::open(Sled::gen_backend_conf(
-                        DunpV1Db::<Sled>::NAME,
+                Database::NetworkV1 => apply_subcommand(
+                    NetworkV1Db::<Sled>::open(Sled::gen_backend_conf(
+                        NetworkV1Db::<Sled>::NAME,
                         Some(profile_path.as_path()),
                     ))?,
                     opt.cmd,
diff --git a/rust-libs/duniter-dbs/src/databases.rs b/rust-libs/duniter-dbs/src/databases.rs
index 501375802286b32313160c6b7debd9ff005d98c1..19792fc7c2e0237b69f1e9a938657522105bca11 100644
--- a/rust-libs/duniter-dbs/src/databases.rs
+++ b/rust-libs/duniter-dbs/src/databases.rs
@@ -16,5 +16,5 @@
 pub mod bc_v1;
 pub mod bc_v2;
 pub mod cm_v1;
-pub mod dunp_v1;
+pub mod network_v1;
 pub mod txs_mp_v2;
diff --git a/rust-libs/duniter-dbs/src/databases/dunp_v1.rs b/rust-libs/duniter-dbs/src/databases/network_v1.rs
similarity index 98%
rename from rust-libs/duniter-dbs/src/databases/dunp_v1.rs
rename to rust-libs/duniter-dbs/src/databases/network_v1.rs
index 87285c02286aab2cbc19099c1699cfca536f621a..db55149ae3d05b496dab1954b0e5600920ba2454 100644
--- a/rust-libs/duniter-dbs/src/databases/dunp_v1.rs
+++ b/rust-libs/duniter-dbs/src/databases/network_v1.rs
@@ -16,7 +16,7 @@
 use crate::*;
 
 db_schema!(
-    DunpV1,
+    NetworkV1,
     [
         ["heads_old", HeadsOld, DunpNodeIdV1Db, DunpHeadDbV1],
         ["peers_old", PeersOld, PubKeyKeyV2, PeerCardDbV1],
diff --git a/rust-libs/duniter-dbs/src/lib.rs b/rust-libs/duniter-dbs/src/lib.rs
index 9b4229e9109494a583bfb6547e78212009f4e0e0..63d8a82ad9b4898917bd8ab75e75c18f5ec0bdfb 100644
--- a/rust-libs/duniter-dbs/src/lib.rs
+++ b/rust-libs/duniter-dbs/src/lib.rs
@@ -124,7 +124,7 @@ pub type FileBackend = kv_typed::backend::memory::Mem;
 pub struct SharedDbs<B: Backend> {
     pub bc_db_ro: databases::bc_v2::BcV2DbRo<B>,
     pub cm_db: databases::cm_v1::CmV1Db<MemSingleton>,
-    pub dunp_db: databases::dunp_v1::DunpV1Db<B>,
+    pub dunp_db: databases::network_v1::NetworkV1Db<B>,
     pub txs_mp_db: databases::txs_mp_v2::TxsMpV2Db<B>,
 }
 
@@ -132,12 +132,12 @@ impl SharedDbs<Mem> {
     pub fn mem() -> KvResult<Self> {
         use databases::bc_v2::BcV2DbWritable as _;
         use databases::cm_v1::CmV1DbWritable as _;
-        use databases::dunp_v1::DunpV1DbWritable as _;
+        use databases::network_v1::NetworkV1DbWritable as _;
         use databases::txs_mp_v2::TxsMpV2DbWritable as _;
         Ok(SharedDbs {
             bc_db_ro: databases::bc_v2::BcV2Db::<Mem>::open(MemConf::default())?.get_ro_handler(),
             cm_db: databases::cm_v1::CmV1Db::<MemSingleton>::open(MemSingletonConf::default())?,
-            dunp_db: databases::dunp_v1::DunpV1Db::<Mem>::open(MemConf::default())?,
+            dunp_db: databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?,
             txs_mp_db: databases::txs_mp_v2::TxsMpV2Db::<Mem>::open(MemConf::default())?,
         })
     }
diff --git a/rust-libs/duniter-dbs/src/open_dbs.rs b/rust-libs/duniter-dbs/src/open_dbs.rs
index af1cdf4da7c524557d536709ea44b68ff091e5d3..05f1ffd1b12fd46a533a93eb19e69b5b447d96be 100644
--- a/rust-libs/duniter-dbs/src/open_dbs.rs
+++ b/rust-libs/duniter-dbs/src/open_dbs.rs
@@ -15,7 +15,7 @@
 
 use crate::databases::bc_v2::BcV2DbWritable as _;
 use crate::databases::cm_v1::CmV1DbWritable as _;
-use crate::databases::dunp_v1::DunpV1DbWritable as _;
+use crate::databases::network_v1::NetworkV1DbWritable as _;
 use crate::databases::txs_mp_v2::TxsMpV2DbWritable as _;
 use crate::*;
 
@@ -30,7 +30,7 @@ pub fn open_dbs<B: BackendConf>(
         bc_db_ro: bc_db.get_ro_handler(),
         cm_db: crate::databases::cm_v1::CmV1Db::<MemSingleton>::open(MemSingletonConf::default())
             .expect("fail to open CmV1 DB"),
-        dunp_db: crate::databases::dunp_v1::DunpV1Db::<B>::open(B::gen_backend_conf(
+        dunp_db: crate::databases::network_v1::NetworkV1Db::<B>::open(B::gen_backend_conf(
             "dunp_v1",
             profile_path_opt,
         ))?,
diff --git a/rust-libs/duniter-server/src/legacy/dunp.rs b/rust-libs/duniter-server/src/legacy/dunp.rs
index f77f3e1c3bdfa6bba81c14d22c26b539a37f8352..e390f9e65a6d6d8bb9c07013ea62a530ced0fe99 100644
--- a/rust-libs/duniter-server/src/legacy/dunp.rs
+++ b/rust-libs/duniter-server/src/legacy/dunp.rs
@@ -32,13 +32,13 @@ impl DuniterServer {
             .expect("dbs pool disconnected")
     }
     pub fn remove_all_peers(&self) -> KvResult<()> {
-        use duniter_dbs::databases::dunp_v1::DunpV1DbWritable as _;
+        use duniter_dbs::databases::network_v1::NetworkV1DbWritable as _;
         self.dbs_pool
             .execute(move |dbs| dbs.dunp_db.peers_old_write().clear())
             .expect("dbs pool disconnected")
     }
     pub fn remove_peer_by_pubkey(&self, pubkey: PublicKey) -> KvResult<()> {
-        use duniter_dbs::databases::dunp_v1::DunpV1DbWritable as _;
+        use duniter_dbs::databases::network_v1::NetworkV1DbWritable as _;
         self.dbs_pool
             .execute(move |dbs| dbs.dunp_db.peers_old_write().remove(PubKeyKeyV2(pubkey)))
             .expect("dbs pool disconnected")
@@ -46,7 +46,7 @@ impl DuniterServer {
     pub fn save_peer(&self, new_peer_card: PeerCardDbV1) -> anyhow::Result<()> {
         use dubp::crypto::keys::PublicKey as _;
         let pubkey = PublicKey::from_base58(&new_peer_card.pubkey)?;
-        use duniter_dbs::databases::dunp_v1::DunpV1DbWritable as _;
+        use duniter_dbs::databases::network_v1::NetworkV1DbWritable as _;
         self.dbs_pool
             .execute(move |dbs| {
                 dbs.dunp_db.peers_old_write().upsert(
@@ -78,7 +78,7 @@ mod tests {
         ed25519::{PublicKey, Signature},
         PublicKey as _,
     };
-    use duniter_dbs::databases::dunp_v1::DunpV1DbReadable;
+    use duniter_dbs::databases::network_v1::NetworkV1DbReadable;
     use duniter_dbs::PeerCardDbV1;
 
     use super::*;
@@ -113,7 +113,7 @@ mod tests {
 
     #[test]
     fn test_save_peer() -> anyhow::Result<()> {
-        use duniter_dbs::databases::dunp_v1::DunpV1DbReadable as _;
+        use duniter_dbs::databases::network_v1::NetworkV1DbReadable as _;
         let server = DuniterServer::test(DuniterConf::default(), DuniterMode::Start)?;
         let dbs = server.get_shared_dbs();
 
diff --git a/rust-libs/duniter-server/src/lib.rs b/rust-libs/duniter-server/src/lib.rs
index beb1d852d8303be22587c6bbb9bb2532ca9e3af2..21093259188626857c0e6f8f707effd6d509bdfc 100644
--- a/rust-libs/duniter-server/src/lib.rs
+++ b/rust-libs/duniter-server/src/lib.rs
@@ -26,7 +26,7 @@ mod fill_cm;
 mod legacy;
 
 pub use duniter_conf::{gva_conf::GvaConf, DuniterConf, DuniterMode};
-use duniter_dbs::databases::dunp_v1::DunpV1DbWritable;
+use duniter_dbs::databases::network_v1::NetworkV1DbWritable;
 pub use duniter_dbs::{
     kv_typed::prelude::KvResult, smallvec, DunpHeadDbV1, DunpNodeIdV1Db, PeerCardDbV1,
 };
diff --git a/rust-libs/modules/gva/dbs-reader/src/endpoints.rs b/rust-libs/modules/gva/dbs-reader/src/endpoints.rs
deleted file mode 100644
index 47eae2d47252741a58ed69f08cba4f274792e80e..0000000000000000000000000000000000000000
--- a/rust-libs/modules/gva/dbs-reader/src/endpoints.rs
+++ /dev/null
@@ -1,120 +0,0 @@
-//  Copyright (C) 2020 Éloïs SANCHEZ.
-//
-// 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/>.
-
-use crate::*;
-use duniter_dbs::databases::dunp_v1::DunpV1DbReadable;
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use duniter_dbs::databases::dunp_v1::DunpV1DbWritable;
-    use duniter_dbs::PeerCardDbV1;
-
-    #[test]
-    fn test_empty_endpoints() -> KvResult<()> {
-        // Populate DB
-        let dunp_db = duniter_dbs::databases::dunp_v1::DunpV1Db::<Mem>::open(MemConf::default())?;
-        let db_reader = DbsReaderImpl::mem();
-        let pk = PublicKey::default();
-
-        dunp_db
-            .peers_old_write()
-            .upsert(PubKeyKeyV2(pk), PeerCardDbV1::default())?;
-
-        // Request Data
-        let api_list = vec!["GVA".to_owned()];
-        assert_eq!(
-            db_reader.endpoints_(&dunp_db, api_list)?,
-            Vec::<String>::new()
-        );
-
-        Ok(())
-    }
-    #[test]
-    fn test_endpoints_with_empty_api_list() -> KvResult<()> {
-        let dummy_endpoint = "GVA S domain.tld 443 gva";
-
-        // Populate DB
-        let dunp_db = duniter_dbs::databases::dunp_v1::DunpV1Db::<Mem>::open(MemConf::default())?;
-        let db_reader = DbsReaderImpl::mem();
-        let pk = PublicKey::default();
-        let peer = PeerCardDbV1 {
-            endpoints: vec![dummy_endpoint.to_owned()],
-            ..Default::default()
-        };
-
-        dunp_db.peers_old_write().upsert(PubKeyKeyV2(pk), peer)?;
-
-        // Request Data
-        let api_list = vec![];
-        assert_eq!(
-            db_reader.endpoints_(&dunp_db, api_list)?,
-            Vec::<String>::new()
-        );
-
-        Ok(())
-    }
-    #[test]
-    fn test_single_peer_endpoints() -> KvResult<()> {
-        let dummy_endpoint = "GVA S domain.tld 443 gva";
-
-        // Populate DB
-        let dunp_db = duniter_dbs::databases::dunp_v1::DunpV1Db::<Mem>::open(MemConf::default())?;
-        let db_reader = DbsReaderImpl::mem();
-        let pk = PublicKey::default();
-        let peer = PeerCardDbV1 {
-            endpoints: vec![dummy_endpoint.to_owned()],
-            ..Default::default()
-        };
-
-        dunp_db.peers_old_write().upsert(PubKeyKeyV2(pk), peer)?;
-
-        // Request Data
-        let api_list = vec!["GVA".to_owned()];
-        assert_eq!(
-            db_reader.endpoints_(&dunp_db, api_list)?,
-            vec![dummy_endpoint.to_owned()]
-        );
-
-        Ok(())
-    }
-}
-
-impl DbsReaderImpl {
-    pub(super) fn endpoints_<DB: DunpV1DbReadable>(
-        &self,
-        network_db: &DB,
-        mut api_list: Vec<String>,
-    ) -> KvResult<Vec<String>> {
-        if api_list.is_empty() {
-            return Ok(vec![]);
-        }
-        for api in &mut api_list {
-            api.push(' ');
-        }
-        network_db.peers_old().iter(.., |it| {
-            it.values()
-                .map_ok(|peer| {
-                    peer.endpoints.into_iter().filter(|endpoint| {
-                        api_list
-                            .iter()
-                            .any(|api| endpoint.starts_with(api.as_str()))
-                    })
-                })
-                .flatten_ok()
-                .collect::<Result<Vec<String>, _>>()
-        })
-    }
-}
diff --git a/rust-libs/modules/gva/dbs-reader/src/lib.rs b/rust-libs/modules/gva/dbs-reader/src/lib.rs
index 8e15fea48877b8f56d234506c7cadc15e251c332..8e9cdb33a1e0fad83fc44bffa00cb1cebe00b964 100644
--- a/rust-libs/modules/gva/dbs-reader/src/lib.rs
+++ b/rust-libs/modules/gva/dbs-reader/src/lib.rs
@@ -24,7 +24,6 @@
 
 pub mod block;
 pub mod current_frame;
-pub mod endpoints;
 pub mod find_inputs;
 pub mod idty;
 pub mod network;
@@ -43,7 +42,7 @@ use dubp::documents::transaction::TransactionDocumentV10;
 use dubp::{block::DubpBlockV10, common::crypto::hashs::Hash};
 use dubp::{common::prelude::BlockNumber, wallet::prelude::*};
 use duniter_bca_types::utxo::Utxo;
-use duniter_dbs::{databases::dunp_v1::DunpV1DbReadable, FileBackend};
+use duniter_dbs::{databases::network_v1::NetworkV1DbReadable, FileBackend};
 use duniter_dbs::{
     databases::{
         bc_v2::{BcV2DbReadable, BcV2DbRo},
@@ -87,7 +86,7 @@ pub trait DbsReader {
         bc_db: &BcV2DbRo<FileBackend>,
         page_info: PageInfo<block::BlockCursor>,
     ) -> KvResult<PagedData<Vec<(block::BlockCursor, BlockMetaV2)>>>;
-    fn endpoints<Db: 'static + DunpV1DbReadable>(
+    fn endpoints<Db: 'static + NetworkV1DbReadable>(
         &self,
         network_db: &Db,
         api_list: Vec<String>,
@@ -154,7 +153,7 @@ pub trait DbsReader {
         bc_db: &BcV2DbRo<FileBackend>,
         pubkey: PublicKey,
     ) -> KvResult<Option<duniter_dbs::IdtyDbV2>>;
-    fn peers_and_heads<DB: 'static + DunpV1DbReadable>(
+    fn peers_and_heads<DB: 'static + NetworkV1DbReadable>(
         &self,
         dunp_db: &DB,
     ) -> KvResult<Vec<(duniter_dbs::PeerCardDbV1, Vec<duniter_dbs::DunpHeadDbV1>)>>;
@@ -197,7 +196,7 @@ impl DbsReader for DbsReaderImpl {
         self.blocks_(bc_db, page_info)
     }
 
-    fn endpoints<Db: 'static + DunpV1DbReadable>(
+    fn endpoints<Db: 'static + NetworkV1DbReadable>(
         &self,
         network_db: &Db,
         api_list: Vec<String>,
@@ -306,7 +305,7 @@ impl DbsReader for DbsReaderImpl {
         self.idty_(bc_db, pubkey)
     }
 
-    fn peers_and_heads<DB: 'static + DunpV1DbReadable>(
+    fn peers_and_heads<DB: 'static + NetworkV1DbReadable>(
         &self,
         dunp_db: &DB,
     ) -> KvResult<Vec<(duniter_dbs::PeerCardDbV1, Vec<duniter_dbs::DunpHeadDbV1>)>> {
diff --git a/rust-libs/modules/gva/dbs-reader/src/network.rs b/rust-libs/modules/gva/dbs-reader/src/network.rs
index 05f3b7c333c79e617e304b490f48bc311f3d5e85..2ec530aa6ed2b1cd49f744204a2424ce1f89c668 100644
--- a/rust-libs/modules/gva/dbs-reader/src/network.rs
+++ b/rust-libs/modules/gva/dbs-reader/src/network.rs
@@ -15,12 +15,35 @@
 
 use crate::*;
 use dubp::crypto::keys::PublicKey as _;
-use duniter_dbs::databases::dunp_v1::DunpV1DbReadable;
-use duniter_dbs::{DunpHeadDbV1, PeerCardDbV1};
+use duniter_dbs::{databases::network_v1::NetworkV1DbReadable, DunpHeadDbV1, PeerCardDbV1};
 
 #[allow(clippy::unnecessary_wraps)]
 impl DbsReaderImpl {
-    pub(super) fn peers_and_heads_<DB: DunpV1DbReadable>(
+    pub(super) fn endpoints_<DB: NetworkV1DbReadable>(
+        &self,
+        network_db: &DB,
+        mut api_list: Vec<String>,
+    ) -> KvResult<Vec<String>> {
+        if api_list.is_empty() {
+            return Ok(vec![]);
+        }
+        for api in &mut api_list {
+            api.push(' ');
+        }
+        network_db.peers_old().iter(.., |it| {
+            it.values()
+                .map_ok(|peer| {
+                    peer.endpoints.into_iter().filter(|endpoint| {
+                        api_list
+                            .iter()
+                            .any(|api| endpoint.starts_with(api.as_str()))
+                    })
+                })
+                .flatten_ok()
+                .collect::<Result<Vec<String>, _>>()
+        })
+    }
+    pub(super) fn peers_and_heads_<DB: NetworkV1DbReadable>(
         &self,
         dunp_db: &DB,
     ) -> KvResult<Vec<(PeerCardDbV1, Vec<DunpHeadDbV1>)>> {
@@ -52,11 +75,85 @@ impl DbsReaderImpl {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use duniter_dbs::databases::dunp_v1::DunpV1DbWritable;
+    use duniter_dbs::databases::network_v1::NetworkV1DbWritable;
+    use duniter_dbs::PeerCardDbV1;
+
+    #[test]
+    fn test_empty_endpoints() -> KvResult<()> {
+        // Populate DB
+        let dunp_db =
+            duniter_dbs::databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?;
+        let db_reader = DbsReaderImpl::mem();
+        let pk = PublicKey::default();
+
+        dunp_db
+            .peers_old_write()
+            .upsert(PubKeyKeyV2(pk), PeerCardDbV1::default())?;
+
+        // Request Data
+        let api_list = vec!["GVA".to_owned()];
+        assert_eq!(
+            db_reader.endpoints_(&dunp_db, api_list)?,
+            Vec::<String>::new()
+        );
+
+        Ok(())
+    }
+    #[test]
+    fn test_endpoints_with_empty_api_list() -> KvResult<()> {
+        let dummy_endpoint = "GVA S domain.tld 443 gva";
+
+        // Populate DB
+        let dunp_db =
+            duniter_dbs::databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?;
+        let db_reader = DbsReaderImpl::mem();
+        let pk = PublicKey::default();
+        let peer = PeerCardDbV1 {
+            endpoints: vec![dummy_endpoint.to_owned()],
+            ..Default::default()
+        };
+
+        dunp_db.peers_old_write().upsert(PubKeyKeyV2(pk), peer)?;
+
+        // Request Data
+        let api_list = vec![];
+        assert_eq!(
+            db_reader.endpoints_(&dunp_db, api_list)?,
+            Vec::<String>::new()
+        );
+
+        Ok(())
+    }
+    #[test]
+    fn test_single_peer_endpoints() -> KvResult<()> {
+        let dummy_endpoint = "GVA S domain.tld 443 gva";
+
+        // Populate DB
+        let dunp_db =
+            duniter_dbs::databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?;
+        let db_reader = DbsReaderImpl::mem();
+        let pk = PublicKey::default();
+        let peer = PeerCardDbV1 {
+            endpoints: vec![dummy_endpoint.to_owned()],
+            ..Default::default()
+        };
+
+        dunp_db.peers_old_write().upsert(PubKeyKeyV2(pk), peer)?;
+
+        // Request Data
+        let api_list = vec!["GVA".to_owned()];
+        assert_eq!(
+            db_reader.endpoints_(&dunp_db, api_list)?,
+            vec![dummy_endpoint.to_owned()]
+        );
+
+        Ok(())
+    }
 
     #[test]
     fn test_peers_and_heads() -> KvResult<()> {
-        let dunp_db = duniter_dbs::databases::dunp_v1::DunpV1Db::<Mem>::open(MemConf::default())?;
+        let dunp_db =
+            duniter_dbs::databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?;
         let db_reader = DbsReaderImpl::mem();
         let pk = PublicKey::default();
 
diff --git a/rust-libs/modules/gva/gql/src/queries.rs b/rust-libs/modules/gva/gql/src/queries.rs
index a23e8ad7c3b11770cc5f99a47b47cad9c0849b6e..7357f49373867fc0e5759df44df905254b2a1d06 100644
--- a/rust-libs/modules/gva/gql/src/queries.rs
+++ b/rust-libs/modules/gva/gql/src/queries.rs
@@ -17,7 +17,6 @@ pub mod account_balance;
 pub mod block;
 pub mod current_block;
 pub mod current_frame;
-pub mod endpoints;
 pub mod first_utxos_of_scripts;
 pub mod gen_tx;
 pub mod idty;
@@ -35,7 +34,6 @@ pub struct QueryRoot(
     queries::block::BlockQuery,
     queries::current_block::CurrentBlockQuery,
     queries::current_frame::CurrentFrameQuery,
-    queries::endpoints::EndpointsQuery,
     queries::first_utxos_of_scripts::FirstUtxosQuery,
     queries::gen_tx::GenTxsQuery,
     queries::idty::IdtyQuery,
diff --git a/rust-libs/modules/gva/gql/src/queries/endpoints.rs b/rust-libs/modules/gva/gql/src/queries/endpoints.rs
deleted file mode 100644
index 38dd6595a482363b1fe36adc2389c8ba7360309e..0000000000000000000000000000000000000000
--- a/rust-libs/modules/gva/gql/src/queries/endpoints.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-//  Copyright (C) 2020 Éloïs SANCHEZ.
-//
-// 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/>.
-
-use crate::*;
-
-// e2e requester pour obtenir la fiche de peer et un tableau de heads pour une pubKey donnée
-
-// e2e requester pour obtenir la list des endpoints connu filtrable par type (gva, bma, ws2p, es?data-pod)
-// ? e2e list endpoints type
-// ? renomer dunp_v1 en network_v1 & DunpV1Db & co
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use crate::tests::*;
-    use duniter_dbs::databases::dunp_v1::DunpV1Db;
-
-    #[tokio::test]
-    async fn endpoints_gva_resolver() -> anyhow::Result<()> {
-        let mock_cm = MockAsyncAccessor::new();
-        let mut mock_dbs_reader = MockDbsReader::new();
-        mock_dbs_reader
-            .expect_endpoints::<DunpV1Db<FileBackend>>()
-            .times(1)
-            .returning(|_, _| {
-                Ok(vec![
-                    "GVA S g1.librelois.fr 443 gva".to_owned(),
-                    "GVA S domain.tld 443 gva".to_owned(),
-                ])
-            });
-        let schema = create_schema(mock_cm, mock_dbs_reader)?;
-        assert_eq!(
-            exec_graphql_request(&schema, r#"{ endpoints(apiList:["GVA"]) }"#).await?,
-            serde_json::json!({
-                "data": {
-                    "endpoints": [
-                        "GVA S g1.librelois.fr 443 gva",
-                        "GVA S domain.tld 443 gva"
-                        ]
-                }
-            })
-        );
-        Ok(())
-    }
-}
-
-#[derive(Default)]
-pub(crate) struct EndpointsQuery;
-#[async_graphql::Object]
-impl EndpointsQuery {
-    /// Get endpoints known by the node
-    async fn endpoints(
-        &self,
-        ctx: &async_graphql::Context<'_>,
-        #[graphql(
-            desc = "filter endpoints by api (exact match endpoint first word, case sensitive)"
-        )]
-        api_list: Vec<String>,
-    ) -> async_graphql::Result<Vec<String>> {
-        let data = ctx.data::<GvaSchemaData>()?;
-        let dbs_reader = data.dbs_reader();
-
-        Ok(data
-            .dbs_pool
-            .execute(move |dbs| dbs_reader.endpoints(&dbs.dunp_db, api_list))
-            .await??)
-    }
-}
diff --git a/rust-libs/modules/gva/gql/src/queries/network.rs b/rust-libs/modules/gva/gql/src/queries/network.rs
index 39d104aab48244944b440c24e1384b8a414b3d41..e24be4b4da79943e66d7f981fbd3a52ddf9c11dd 100644
--- a/rust-libs/modules/gva/gql/src/queries/network.rs
+++ b/rust-libs/modules/gva/gql/src/queries/network.rs
@@ -25,6 +25,23 @@ pub(crate) struct NetworkQueryInner;
 
 #[async_graphql::Object]
 impl NetworkQueryInner {
+    /// Get endpoints known by the node
+    async fn endpoints(
+        &self,
+        ctx: &async_graphql::Context<'_>,
+        #[graphql(
+            desc = "filter endpoints by api (exact match endpoint first word, case sensitive)"
+        )]
+        api_list: Vec<String>,
+    ) -> async_graphql::Result<Vec<String>> {
+        let data = ctx.data::<GvaSchemaData>()?;
+        let dbs_reader = data.dbs_reader();
+
+        Ok(data
+            .dbs_pool
+            .execute(move |dbs| dbs_reader.endpoints(&dbs.dunp_db, api_list))
+            .await??)
+    }
     /// Get peers and heads
     async fn nodes(
         &self,
@@ -51,14 +68,44 @@ impl NetworkQueryInner {
 mod tests {
     use super::*;
     use crate::tests::*;
-    use duniter_dbs::databases::dunp_v1::DunpV1Db;
+    use duniter_dbs::databases::network_v1::NetworkV1Db;
     use pretty_assertions::assert_eq;
 
+    #[tokio::test]
+    async fn test_endpoints() -> anyhow::Result<()> {
+        let mock_cm = MockAsyncAccessor::new();
+        let mut mock_dbs_reader = MockDbsReader::new();
+        mock_dbs_reader
+            .expect_endpoints::<NetworkV1Db<FileBackend>>()
+            .times(1)
+            .returning(|_, _| {
+                Ok(vec![
+                    "GVA S g1.librelois.fr 443 gva".to_owned(),
+                    "GVA S domain.tld 443 gva".to_owned(),
+                ])
+            });
+        let schema = create_schema(mock_cm, mock_dbs_reader)?;
+        assert_eq!(
+            exec_graphql_request(&schema, r#"{ network { endpoints(apiList:["GVA"]) } }"#).await?,
+            serde_json::json!({
+                "data": {
+                    "network": {
+                        "endpoints": [
+                            "GVA S g1.librelois.fr 443 gva",
+                            "GVA S domain.tld 443 gva"
+                        ]
+                    }
+                }
+            })
+        );
+        Ok(())
+    }
+
     #[tokio::test]
     async fn test_peers_and_heads() -> anyhow::Result<()> {
         let mut dbs_reader = MockDbsReader::new();
         dbs_reader
-            .expect_peers_and_heads::<DunpV1Db<FileBackend>>()
+            .expect_peers_and_heads::<NetworkV1Db<FileBackend>>()
             .times(1)
             .returning(|_| {
                 Ok(vec![(