dpnm template. Every $FLOW user occupies exactly one position in the tree. Every extendTree call (and a slice of every buy) pays out to ancestors of the caller — if those ancestors are tree-active.
Shape
1 + 3 + 9 + 27 + ... + 3^10 = 88,573 total positions per root (the root itself plus 88,572 descendants).
Spillover — why you earn even without inviting anyone
When a new user callsactivate(referrer), the contract walks down the referrer’s subtree:
- Try to place the new user in slot 1 directly under the referrer.
- If full, slot 2.
- If full, slot 3.
- If all three direct slots are full → spill down into whichever subtree of the referrer has the lowest fill count.
Spillover is the killer mechanic. It means your earning potential is tied to your upline’s effort plus your own. You are economically rooting for the people above you to keep selling.
Payout per extendTree($10)
Every time a tree position calls extendTree(months), the protocol pays out marketing rewards 10 levels up the tree:
| Level above caller | Payout per $10 extend |
|---|---|
| L1 | $0.1 |
| L2 | $0.1 |
| L3 | $0.1 |
| L4 | $0.5 |
| L5 | $0.5 |
| L6 | $0.5 |
| L7 | $0.8 |
| L8 | $0.8 |
| L9 | $0.8 |
| L10 | $0.8 |
| Total marketing | $5.0 |
| Pool retention | $1.0 |
| Treasury | $4.0 |
$10 extend pays:
$5.0distributed up 10 levels$1.0retained in pool (raises price)$4.0to treasury
Payout per buy(...)
The buy fee is 20%, of which 10% (i.e. 10% of the buy value) is the phenomenal tree slice. Distribution across 10 levels follows the same shape proportions as the extendTree payout but scaled to the actual buy size.
For a $100 buy:
- Marketing slice:
$10total. - Distributed across L1–L10 in the same
0.1 / 0.5 / 0.8proportions, i.e.(1+1+1+5+5+5+8+8+8+8) = 50units → each unit =$0.20. - L1 ancestor:
$0.20. L4 ancestor:$1.00. L10 ancestor:$1.60.
Inactive ancestors
If an ancestor is not tree-active at the moment of the payout call, their slice is rerouted to treasury. It is not held in escrow; the missed payout is simply forfeited. This is why active status is critical — you do not earn from descendants while inactive. Active status comes fromactivate(...) (30 days) and is extended by extendTree(months) (30 days × months, max 90-day stack).
A user’s earning loop
Querying tree state
See also
- Extend tree — the activation and extension flow.
- Income limit — how earnings affect your
1:2cap. - Closed system — why the tree exists at all.