> 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-weight-assignment.md).

# Transaction Weight Assignment

Transaction action weights are assigned through decentralized on-chain voting. An action is represented as a floating-point number between 1 and 10. The weight assigned to an action is constant for all users, regardless of their past actions. Transaction weight assignment to actions is performed by the Validation Layer of the Flex Node.

## Weight assignment

Transaction weights are assigned as follows:

<figure><img src="/files/NOlQnPSGoo7TJ5zMdOiF" alt=""><figcaption><p>Weighted List generation</p></figcaption></figure>

## Weighted transaction pool structure

Illustration:

```
// Weighted Transaction Pool

{
    "wallets": [
        {
            "address": "0x1234567890abcdef1234567890abcdef12345678",
            "total_historical_weight": 10.3,
            "per_epoch_weight": [0.5, 0.8, 1.2, 1.0, 0.9, 1.5, 0.6],
            "actions": {
                "onchain": [
                    {
                        "action_id": "onchain_001",
                        "action_weight": 1.5
                    },
                    {
                        "action_id": "onchain_002",
                        "action_weight": 2.1
                    }
                ],
                "offchain": [
                    {
                        "action_id": "offchain_001",
                        "action_weight": 0.9
                    },
                    {
                        "action_id": "offchain_002",
                        "action_weight": 1.2
                    }
                ]
            }
        },
        {
            "address": "0xabcdef1234567890abcdef1234567890abcdef12",
            "total_historical_weight": 9.6,
            "per_epoch_weight": [0.4, 0.7, 1.1, 1.0, 0.8, 1.2, 0.4],
            "actions": {
                "onchain": [
                    {
                        "action_id": "onchain_003",
                        "action_weight": 2.5
                    },
                    {
                        "action_id": "onchain_004",
                        "action_weight": 1.8
                    }
                ],
                "offchain": [
                    {
                        "action_id": "offchain_003",
                        "action_weight": 1.4
                    },
                    {
                        "action_id": "offchain_004",
                        "action_weight": 0.8
                    }
                ]
            }
        }
    ]
}

```
