Transaction Weight Assignment
Flex is a community-owned platform that rapidly boosts dApp user growth through a multi-chain, proof-of-collaboration protocol. How weights are assigned to each transaction action:
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:

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
}
]
}
}
]
}
Last updated