diff --git a/cesium-plus-pod-assembly/pom.xml b/cesium-plus-pod-assembly/pom.xml
index e1aedde99a3fbaa52a3338835bed36bb0a290a11..65942c530e96b0100b4b36718a7fc41f1c3e7774 100644
--- a/cesium-plus-pod-assembly/pom.xml
+++ b/cesium-plus-pod-assembly/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.duniter.cesium</groupId>
     <artifactId>cesium-plus-pod</artifactId>
-    <version>1.10.8</version>
+    <version>1.11.0</version>
   </parent>
 
   <artifactId>cesium-plus-pod-assembly</artifactId>
diff --git a/cesium-plus-pod-client/pom.xml b/cesium-plus-pod-client/pom.xml
index 2b031873ed4a05d732f8aa255a4376c75cd53244..6a28abf73ea5febc6dbc6bf8844ef6ccecf38eda 100644
--- a/cesium-plus-pod-client/pom.xml
+++ b/cesium-plus-pod-client/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.duniter.cesium</groupId>
     <artifactId>cesium-plus-pod</artifactId>
-    <version>1.10.8</version>
+    <version>1.11.0</version>
   </parent>
 
   <artifactId>cesium-plus-pod-client</artifactId>
diff --git a/cesium-plus-pod-core/pom.xml b/cesium-plus-pod-core/pom.xml
index 3d473e4327d41c2f09ff6a3e27a2bc3508da6b87..0e8b72e8b3b8a46075bb51a3f41425eeff231936 100644
--- a/cesium-plus-pod-core/pom.xml
+++ b/cesium-plus-pod-core/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.duniter.cesium</groupId>
     <artifactId>cesium-plus-pod</artifactId>
-    <version>1.10.8</version>
+    <version>1.11.0</version>
   </parent>
 
   <artifactId>cesium-plus-pod-core</artifactId>
diff --git a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/rest/wot/RestWotRequirementsGetAction.java b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/rest/wot/RestWotRequirementsGetAction.java
index 51efb1c2e612aa10cb08f3c1216ce229ad6bd75a..92a05a809bde44c735af65a9b24fc59bb8ca9520 100644
--- a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/rest/wot/RestWotRequirementsGetAction.java
+++ b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/rest/wot/RestWotRequirementsGetAction.java
@@ -69,7 +69,7 @@ public class RestWotRequirementsGetAction extends BaseRestHandler {
         String pubkey = request.param("pubkey");
 
         try {
-            List<WotRequirements> requirements = wotService.getRequirements(currency, pubkey);
+            List<WotRequirements> requirements = wotService.getRequirementsByPubkey(currency, pubkey);
             if (requirements == null) {
                 XContentBuilder builder = RestXContentBuilder.restContentBuilder(request).startObject()
                         .field("ucode", 2021)
diff --git a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/PendingMembershipService.java b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/PendingMembershipService.java
index 0ea46a7fa6fa0f4eed133099545e696840ae3305..118f4c1790733cea2a17d9683c9dc228a1afe5fa 100644
--- a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/PendingMembershipService.java
+++ b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/PendingMembershipService.java
@@ -272,7 +272,7 @@ public class PendingMembershipService extends AbstractService  {
         do {
 
             try {
-                identities = wotRemoteService.getRequirements(peer, membership.getPubkey());
+                identities = wotRemoteService.getRequirementsByPubkey(peer, membership.getPubkey());
                 requestCounter.increment();
             }
             // Error can occur because of quota on BMA api
diff --git a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/WotService.java b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/WotService.java
index cb31fbd0b1a07b1e77c417ff9efd6ac7f081a10b..eec343fbc64e8121c8cf9784f588ab898c1a58ae 100644
--- a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/WotService.java
+++ b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/service/WotService.java
@@ -263,10 +263,16 @@ public class WotService extends AbstractService {
         return response.getHits() != null && response.getHits().getTotalHits() > 0;
     }
 
-    public List<WotRequirements> getRequirements(String currency, String pubkey) {
+    public List<WotRequirements> getRequirements(String currency, String uidOrPubkey) {
         waitReady();
         final String currencyId = safeGetCurrency(currency);
-        return this.wotRemoteService.getRequirements(currencyId, pubkey);
+        return this.wotRemoteService.getRequirements(currencyId, uidOrPubkey);
+    }
+
+    public List<WotRequirements> getRequirementsByPubkey(String currency, String pubkey) {
+        waitReady();
+        final String currencyId = safeGetCurrency(currency);
+        return this.wotRemoteService.getRequirementsByPubkey(currencyId, pubkey);
     }
 
     public Optional<Member> getMemberByPubkey(String currency, String pubkey) {
@@ -277,19 +283,25 @@ public class WotService extends AbstractService {
         }
         // Fallback to remote duniter node (e.g. Blockchain not yet indexed)
         else {
-            Identity source = this.wotRemoteService.getIdentity(currencyId, pubkey);
-            if (source == null
-                || !currencyId.equals(source.getCurrency())
-                || (!source.getIsMember() && source.getWasMember())) return Optional.empty(); // Not a member
-
-            Member target = new Member();
-            target.setPubkey(pubkey);
-            target.setCurrency(currencyId);
-            target.setUid(source.getUid());
-            target.setIsMember(source.getIsMember());
-            target.setWasMember(source.getWasMember());
-            target.setTimestamp(source.getTimestamp());
-            return Optional.of(target);
+            return this.wotRemoteService.getRequirementsByPubkey(currencyId, pubkey)
+                .stream()
+                .map(source -> {
+                    Member target = new Member();
+                    target.setPubkey(pubkey);
+                    target.setCurrency(currencyId);
+                    target.setUid(source.getUid());
+                    target.setWasMember(source.getWasMember());
+                    Boolean isMember = Boolean.FALSE.equals(source.getRevoked())
+                        && source.getMembershipExpiresIn() != null
+                        && source.getMembershipExpiresIn() > 0;
+                    target.setIsMember(isMember);
+                    if (source.getMeta() != null) {
+                        target.setTimestamp(source.getMeta().getTimestamp());
+                    }
+                    return target;
+                })
+                .filter(source -> Boolean.TRUE.equals(source.getWasMember()) || source.getIsMember())
+                .findFirst();
         }
     }
 
diff --git a/cesium-plus-pod-model/pom.xml b/cesium-plus-pod-model/pom.xml
index 6fe640416286494b5e93e2782fffe22817ef667a..a43af8c9cc9e780b02cf043d94f72c1433e8be12 100644
--- a/cesium-plus-pod-model/pom.xml
+++ b/cesium-plus-pod-model/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.duniter.cesium</groupId>
     <artifactId>cesium-plus-pod</artifactId>
-    <version>1.10.8</version>
+    <version>1.11.0</version>
   </parent>
 
   <artifactId>cesium-plus-pod-model</artifactId>
diff --git a/cesium-plus-pod-subscription/pom.xml b/cesium-plus-pod-subscription/pom.xml
index 7a212a3487d7ad18bec1e047ac42df19375e6eb3..1ccd368573f8e5f1a4fa4f1b9f0acdd258a00a21 100644
--- a/cesium-plus-pod-subscription/pom.xml
+++ b/cesium-plus-pod-subscription/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.duniter.cesium</groupId>
     <artifactId>cesium-plus-pod</artifactId>
-    <version>1.10.8</version>
+    <version>1.11.0</version>
   </parent>
 
   <artifactId>cesium-plus-pod-subscription</artifactId>
diff --git a/cesium-plus-pod-test/pom.xml b/cesium-plus-pod-test/pom.xml
index 4d672e6384be7b950b1948edeec894850d4a3007..be8c33998e97f4d6b2f0f249a3b3f54b9b906094 100644
--- a/cesium-plus-pod-test/pom.xml
+++ b/cesium-plus-pod-test/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.duniter.cesium</groupId>
         <artifactId>cesium-plus-pod</artifactId>
-        <version>1.10.8</version>
+        <version>1.11.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/cesium-plus-pod-user/pom.xml b/cesium-plus-pod-user/pom.xml
index e72357eed03d7610067eacf50a027563fb7a8539..0cda07ba95dcd258e610673322b1acdf29be142d 100644
--- a/cesium-plus-pod-user/pom.xml
+++ b/cesium-plus-pod-user/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>cesium-plus-pod</artifactId>
         <groupId>org.duniter.cesium</groupId>
-        <version>1.10.8</version>
+        <version>1.11.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/pom.xml b/pom.xml
index 74e31d98d723ce8d94b4881a3b23a8ff3db0b337..8fefcd7901bc605406d7441621dd3298f85c5e0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
 
   <groupId>org.duniter.cesium</groupId>
   <artifactId>cesium-plus-pod</artifactId>
-  <version>1.10.8</version>
+  <version>1.11.0</version>
   <packaging>pom</packaging>
   <name>Cesium+ pod</name>
   <description>Cesium+ pod :: An ElasticSearch cluster for Duniter network</description>
@@ -28,7 +28,7 @@
     <javaVersion>11</javaVersion>
 
     <!-- Commons versions -->
-    <duniter4j.version>1.5.10</duniter4j.version>
+    <duniter4j.version>1.6.1</duniter4j.version>
     <log4j.version>1.2.17</log4j.version>
     <slf4j.version>1.7.6</slf4j.version>
     <guava.version>22.0</guava.version>