> For the complete documentation index, see [llms.txt](https://flexecosystem.gitbook.io/flex-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flexecosystem.gitbook.io/flex-docs/protocol/flex-validator-nodes/getting-started/transaction-pool-generation.md).

# Transaction Pool Generation

After being assigned to a validator node, your on-chain and social activities within the Flex ecosystem are meticulously tracked and mapped into a transaction pool. This crucial process is handled by the data layer of the validator node, forming an integral part of the Flex network's architecture.&#x20;

**Note that running the Flex node enables you to earn rewards by contributing to tasks while the node in the background also serves a dual purpose by making you a validator of other network participants' activity.** &#x20;

{% hint style="success" %}
The generation and maintenance of this transaction pool play a vital role in ensuring the network's trustlessness and tamper resistance. By recording and storing your actions in this secure manner, Flex maintains a transparent yet privacy-conscious system that accurately captures all your contributions to the ecosystem.
{% endhint %}

## Transaction criteria

The transaction pool consists of community member wallet addresses and their Off-chain and On-chain activities.

In this layer, every single activity completed by the community member is mapped in the pool.

**Examples of off-chain transactions:**

* Liking a post on X
* Posting a video on Youtube
* Following another community member

**Examples of on-chain transactions:**

* Staking ecosystem project tokens
* Minting ecosystem Project NFTs
* Deploying a smart contract on ecosystem project infrastructure

## Transaction structure:

The transaction pool structure is as follows:

```
// Transaction Structure

{
    "wallets": [
        {
            "address": "0x1234567890abcdef1234567890abcdef12345678",
            "actions": {
                "onchain": [
                    {
                        "action_id": "onchain_001"
                    },
                    {
                        "action_id": "onchain_002"
                    }
                ],
                "offchain": [
                    {
                        "action_id": "offchain_001"
                    },
                    {
                        "action_id": "offchain_002"
                    }
                ]
            }
        },
        {
            "address": "0xabcdef1234567890abcdef1234567890abcdef12",
            "actions": {
                "onchain": [
                    {
                        "action_id": "onchain_003"
                    },
                    {
                        "action_id": "onchain_004"
                    }
                ],
                "offchain": [
                    {
                        "action_id": "offchain_003"
                    },
                    {
                        "action_id": "offchain_004"
                    }
                ]
            }
        }
    ]
}


```
