diff --git a/apps/ssi-abstraction/src/agent/revocation/revocation.service.ts b/apps/ssi-abstraction/src/agent/revocation/revocation.service.ts
index fc33f32248359a7fb8b8642e4cfd12171b007914..c8b4bc0fc630dd70667fa269411a7e172c5087db 100644
--- a/apps/ssi-abstraction/src/agent/revocation/revocation.service.ts
+++ b/apps/ssi-abstraction/src/agent/revocation/revocation.service.ts
@@ -143,23 +143,46 @@ export class RevocationService {
   }: EventAnonCredsRevocationRegisterRevocationStatusListInput): Promise<
     EventAnonCredsRevocationRegisterRevocationStatusList['data']
   > {
+    const endorserDid = await this.agentService.getEndorserDid(issuerDid);
     return this.withTenantService.invoke(tenantId, async (t) => {
-      const result = await t.modules.anoncreds.registerRevocationStatusList({
-        options: {},
-        revocationStatusList: {
-          revocationRegistryDefinitionId,
-          issuerId: issuerDid,
-        },
-      });
+      const { revocationStatusListState } =
+        await t.modules.anoncreds.registerRevocationStatusList({
+          options: {
+            endorserMode: 'external',
+            endorserDid,
+          },
+          revocationStatusList: {
+            revocationRegistryDefinitionId,
+            issuerId: issuerDid,
+          },
+        });
 
-      if (result.revocationStatusListState.state !== 'finished') {
+      if (
+        revocationStatusListState.state !== 'action' ||
+        revocationStatusListState.action !== 'endorseIndyTransaction'
+      ) {
         throw new Error(
-          `Error registering the revocation status list. Error: ${JSON.stringify(
-            result,
-          )}`,
+          `Error registering revocation registry definition: ${
+            revocationStatusListState.state === 'failed'
+              ? revocationStatusListState.reason
+              : 'Not Finished'
+          }`,
         );
       }
 
+      const signedRevocationRegistryDefinitionRequest =
+        await this.agentService.endorseTransaction(
+          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+          // @ts-expect-error
+          revocationStatusListState.revocationStatusListRequest,
+          endorserDid,
+        );
+
+      await t.modules.indyVdr.submitTransaction(
+        signedRevocationRegistryDefinitionRequest,
+        issuerDid,
+      );
+
       return {};
     });
   }
diff --git a/apps/ssi-abstraction/test/revocation.e2e-spec.ts b/apps/ssi-abstraction/test/revocation.e2e-spec.ts
index 7365ff69d8dd4a88e052511419c02588feb2b304..d34767ebe345aefac892d3f9d77a1ec974e60261 100644
--- a/apps/ssi-abstraction/test/revocation.e2e-spec.ts
+++ b/apps/ssi-abstraction/test/revocation.e2e-spec.ts
@@ -29,7 +29,6 @@ import {
 import { randomBytes } from 'crypto';
 import { firstValueFrom } from 'rxjs';
 
-import { natsConfig } from '../dist/config/nats.config.js';
 import { AgentModule } from '../src/agent/agent.module.js';
 import { AnonCredsCredentialsModule } from '../src/agent/anoncredsCredentials/anoncredsCredentials.module.js';
 import { ConnectionsModule } from '../src/agent/connections/connections.module.js';
@@ -43,8 +42,9 @@ import { SchemasService } from '../src/agent/schemas/schemas.service.js';
 import { TenantsModule } from '../src/agent/tenants/tenants.module.js';
 import { TenantsService } from '../src/agent/tenants/tenants.service.js';
 import { mockConfigModule } from '../src/config/__tests__/mockConfig.js';
+import { natsConfig } from '../src/config/nats.config.js';
 
-describe.skip('Revocation', () => {
+describe('Revocation', () => {
   const TOKEN = 'REVOCATION_CLIENT_SERVICE';
   let app: INestApplication;
   let client: ClientProxy;