diff --git a/apps/core/src/utils/transaction/getTransactionAction.ts b/apps/core/src/utils/transaction/getTransactionAction.ts
index 0a59a92430c..db94258a239 100644
--- a/apps/core/src/utils/transaction/getTransactionAction.ts
+++ b/apps/core/src/utils/transaction/getTransactionAction.ts
@@ -4,11 +4,24 @@
 
 import { IotaTransactionBlockResponse } from '@iota/iota-sdk/client';
 import { TransactionAction } from '../../interfaces';
+import { STAKING_REQUEST_EVENT, UNSTAKING_REQUEST_EVENT } from '../../constants';
 
 export const getTransactionAction = (
     transaction: IotaTransactionBlockResponse,
     currentAddress?: string,
 ) => {
-    const isSender = transaction.transaction?.data.sender === currentAddress;
-    return isSender ? TransactionAction.Send : TransactionAction.Receive;
+    const stakeTypeTransaction = transaction?.events?.find(
+        ({ type }) => type === STAKING_REQUEST_EVENT,
+    );
+    const unstakeTypeTransaction = transaction?.events?.find(
+        ({ type }) => type === UNSTAKING_REQUEST_EVENT,
+    );
+    if (stakeTypeTransaction) {
+        return TransactionAction.Staked;
+    } else if (unstakeTypeTransaction) {
+        return TransactionAction.Unstaked;
+    } else {
+        const isSender = transaction.transaction?.data.sender === currentAddress;
+        return isSender ? TransactionAction.Send : TransactionAction.Receive;
+    }
 };