ERC20x/Pools
GENERAL DISTRIBUTION AGREEMENT

Distribution
Pools

Send tokens to thousands of recipients in a single transaction. Create a pool, assign proportional units to members, and distribute — instantly or as a continuous stream.

GAS COST
O(1) constant
regardless of recipients
MAX POOLS
256 per account
simultaneous receiving
AdminSourcePool100 total unitsMember A50 units = 50%Member B30 units = 30%Member C15 units = 15%Member D5 units = 5%DISTRIBUTORPOOL (GDA)MEMBERS

How Pools work

Distribution Pools use the General Distribution Agreement (GDA) to enable scalable, proportional token distribution to any number of recipients.

Instant Distribution

Distribute tokens to all pool members in a single transaction. Each member receives their proportional share based on their assigned units. Gas cost stays constant regardless of member count.

Streaming Distribution

Open a stream to the pool and all members receive their proportional share continuously, in real-time. Combine the power of streams with one-to-many scalability.

Proportional Units

Pool admins assign units to members. A member with 50 out of 100 total units receives 50% of all distributions. Units can be updated at any time.

Multi-Pool Receiving

Each account can receive from up to 256 pools simultaneously. All pool distributions are automatically reflected in your real-time balance.

Understanding Pool Units

Pool units determine each member's proportional share. When tokens are distributed, each member receives:

member share = member units / total units * distributed amount
Alice
50
units = 50%
Bob
25
units = 25%
Carol
15
units = 15%
Dave
10
units = 10%

Total: 100 units. If 1,000 tokens are distributed, Alice gets 500, Bob gets 250, Carol gets 150, Dave gets 100.

Two modes of distribution

Pools support both one-time lump-sum distributions and continuous streaming — each visualized below.

Instant Distribution

SourcePooldistribute()50%25%15%10%SOURCEPOOL (GDA)MEMBERS1 tx = all members instantly

Distribute a lump sum of tokens instantly to all pool members. Each member receives their proportional share immediately in a single transaction.

One-time token distribution
Ideal for rewards, dividends, airdrops
Constant gas regardless of member count

Streaming Distribution

SourcePoolstreaming50%25%15%10%SOURCEPOOL (GDA)MEMBERScontinuous per-second flow

Open a stream to the pool and all members receive their proportional share continuously. Combines CFA streams with GDA scalability.

Continuous per-second distribution
Ideal for revenue sharing, staking rewards
Real-time balance updates for all members