diff --git a/caosdb-proto b/caosdb-proto
index b0cade5e02daff99eaa46e1201f2786ac873114b..dd9abe3499367c4eded4774ade1acbc90ef048b3 160000
--- a/caosdb-proto
+++ b/caosdb-proto
@@ -1 +1 @@
-Subproject commit b0cade5e02daff99eaa46e1201f2786ac873114b
+Subproject commit dd9abe3499367c4eded4774ade1acbc90ef048b3
diff --git a/pom.xml b/pom.xml
index 67c013deabd38f0629afc724fece3e93a66a3efd..c36df3aee3660452289ef520773746a7460df0b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.caosdb</groupId>
   <artifactId>caosdb-server</artifactId>
-  <version>0.5.0-GRPC003</version>
+  <version>0.5.0-GRPC004</version>
   <packaging>jar</packaging>
   <name>CaosDB Server</name>
   <scm>
diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..1ca75f9cde9bbe4ad74eb337abcda4775be94f0c
--- /dev/null
+++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
@@ -0,0 +1,20 @@
+package org.caosdb.server.grpc;
+
+import io.grpc.stub.StreamObserver;
+import org.caosdb.api.entity.v1alpha1.Entity;
+import org.caosdb.api.entity.v1alpha1.EntityTransactionServiceGrpc.EntityTransactionServiceImplBase;
+import org.caosdb.api.entity.v1alpha1.RetrieveRequest;
+import org.caosdb.api.entity.v1alpha1.RetrieveResponse;
+
+public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBase {
+
+  @Override
+  public void retrieve(
+      final RetrieveRequest request, final StreamObserver<RetrieveResponse> responseObserver) {
+    final Entity entity = Entity.newBuilder().setDescription("This is an entity").build();
+    final RetrieveResponse response = RetrieveResponse.newBuilder().setEntity(entity).build();
+
+    responseObserver.onNext(response);
+    responseObserver.onCompleted();
+  }
+}
diff --git a/src/main/java/org/caosdb/server/grpc/GRPCServer.java b/src/main/java/org/caosdb/server/grpc/GRPCServer.java
index 9d1b4c6a784c412b6300f6bc9bedcabdf9c83f00..0fd6da7861c6a1f213acc29f7b0bf40d7218b318 100644
--- a/src/main/java/org/caosdb/server/grpc/GRPCServer.java
+++ b/src/main/java/org/caosdb/server/grpc/GRPCServer.java
@@ -114,10 +114,12 @@ public class GRPCServer {
   private List<ServerServiceDefinition> getEnabledServices() {
     final List<ServerServiceDefinition> services = new LinkedList<>();
 
-    final GeneralInfoServiceImpl gIS = new GeneralInfoServiceImpl();
-    final ServerServiceDefinition serviceDefinition =
-        ServerInterceptors.intercept(gIS, authInterceptor);
-    services.add(serviceDefinition);
+    final GeneralInfoServiceImpl generalInfoService = new GeneralInfoServiceImpl();
+    services.add(ServerInterceptors.intercept(generalInfoService, authInterceptor));
+
+    final EntityTransactionServiceImpl entityTransactionService =
+        new EntityTransactionServiceImpl();
+    services.add(ServerInterceptors.intercept(entityTransactionService, authInterceptor));
 
     return services;
   }