diff --git a/src/chain-observers/index.ts b/src/chain-observers/index.ts
index 3a728188d8c5458f7da8f9936f27ac919a9ee1fa..6f4b95c9df683fdf500d38053e1b5dd449a966f9 100644
--- a/src/chain-observers/index.ts
+++ b/src/chain-observers/index.ts
@@ -15,6 +15,7 @@ export type { IBlockHeaderProviderData } from "./providers/block-header-provider
 export type { IBlockProviderData } from "./providers/block-provider";
 export type { IExchangeTransferMetadata, IExchangeTransferProviderData } from "./providers/exchange-transfer-provider";
 export type { IFeedPriceData, IFeedPriceProviderData } from "./providers/feed-price-provider";
+export type { IImpactedAccountProviderData, ImpactedAccountProvider, TImpactedAccountProvided } from "./providers/impacted-account-provider";
 export type {
   IInternalMarketCancelOperation, IInternalMarketCreateOperation,
   IInternalMarketProviderData, TInternalMarketOperation
diff --git a/src/chain-observers/providers/impacted-account-provider.ts b/src/chain-observers/providers/impacted-account-provider.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ee9efcf6c0d357f320d49ea3bdc141fb6d0d7651
--- /dev/null
+++ b/src/chain-observers/providers/impacted-account-provider.ts
@@ -0,0 +1,48 @@
+import { TAccountName } from "@hiveio/wax";
+import { WorkerBeeIterable } from "../../types/iterator";
+import { ImpactedAccountClassifier } from "../classifiers";
+import { TRegisterEvaluationContext } from "../classifiers/collector-classifier-base";
+import { IOperationTransactionPair } from "../classifiers/operation-classifier";
+import { DataEvaluationContext } from "../factories/data-evaluation-context";
+import { ProviderBase } from "./provider-base";
+
+export type TImpactedAccountProvided<TAccounts extends Array<TAccountName>> = {
+  [K in TAccounts[number]]: WorkerBeeIterable<IOperationTransactionPair>;
+};
+
+export interface IImpactedAccountProviderData<TAccounts extends Array<TAccountName>> {
+  impactedAccounts: TImpactedAccountProvided<TAccounts>;
+};
+
+export interface IImpactedAccountProviderOptions {
+  accounts: string[];
+}
+
+export class ImpactedAccountProvider<TAccounts extends Array<TAccountName> = Array<TAccountName>> extends ProviderBase<IImpactedAccountProviderOptions> {
+  public readonly accounts: string[] = [];
+
+  public pushOptions(options: IImpactedAccountProviderOptions): void {
+    this.accounts.push(...options.accounts);
+  }
+
+  public usedContexts(): Array<TRegisterEvaluationContext> {
+    return [
+      ImpactedAccountClassifier
+    ];
+  }
+
+  public async provide(data: DataEvaluationContext): Promise<IImpactedAccountProviderData<TAccounts>> {
+    const result = {
+      impactedAccounts: {}
+    };
+
+    const { impactedAccounts } = await data.get(ImpactedAccountClassifier);
+    for(const account of this.accounts)
+      if (impactedAccounts[account] === undefined)
+        result.impactedAccounts[account] = new WorkerBeeIterable<IOperationTransactionPair>([]);
+      else // Copy the array to prevent the original from being modified
+        result.impactedAccounts[account] = new WorkerBeeIterable<IOperationTransactionPair>(Array.from(impactedAccounts[account].operations));
+
+    return result as IImpactedAccountProviderData<TAccounts>;
+  }
+}
diff --git a/src/queen.ts b/src/queen.ts
index ef366997976c3a31eef5d32c30f9e76884e09457..2f148041c26373674a1460cb193717dff71e2372 100644
--- a/src/queen.ts
+++ b/src/queen.ts
@@ -30,6 +30,7 @@ import { BlockHeaderProvider } from "./chain-observers/providers/block-header-pr
 import { BlockProvider } from "./chain-observers/providers/block-provider";
 import { ExchangeTransferProvider } from "./chain-observers/providers/exchange-transfer-provider";
 import { FeedPriceProvider } from "./chain-observers/providers/feed-price-provider";
+import { ImpactedAccountProvider } from "./chain-observers/providers/impacted-account-provider";
 import { InternalMarketProvider } from "./chain-observers/providers/internal-market-provider";
 import { MentionedAccountProvider } from "./chain-observers/providers/mention-provider";
 import { ProviderBase } from "./chain-observers/providers/provider-base";
@@ -203,8 +204,11 @@ export class QueenBee<TPreviousSubscriberData extends object = {}> {
     return this;
   }
 
-  public onImpactedAccount(account: TAccountName): QueenBee<TPreviousSubscriberData> {
+  public onImpactedAccount<
+    TAccount extends TAccountName
+  >(account: TAccountName): QueenBee<TPreviousSubscriberData & Awaited<ReturnType<ImpactedAccountProvider<[TAccount]>["provide"]>>> {
     this.operands.push(new ImpactedAccountFilter(this.worker, account));
+    this.pushProvider(ImpactedAccountProvider, { accounts: [ account ] });
 
     return this;
   }