sunsetCase studyKyberDAO · 2020–2021
Kyber Community Pool voted for everyone.
I built the frontend application for KCP, which was a service that users could delegate their voting power to KCP by depositing their KNC tokens and periodically get ETH rewards for participating by-proxy in governance. The project was officially launched October 20, 2020.
At its peak, 1,144 addresses were delegating their governance voting power to the project at the same time, and 1,158 delegated to it at some point.
The project involved writing the frontend and deploying the KCP smart contract.
3.7457 ETH
- Pool ownerclaimRewardsMaster([12])
- KyberPoolMasterclaimStakerReward(pool, 12)
- KyberFeeHandler3.7457 ETH → KyberPoolMasteremit RewardPaid(staker: pool, epoch: 12, token: ETH)
- KyberPoolMasterMasterClaimReward(epoch 12, fee 0, feeAmount 0, poolMasterShare 0)
- KyberPoolMaster3.7457 ETH held for the delegators of epoch 12
gas 180,807View transaction 0xd7d2…b18d ↗
- addresses delegated
- 1,158
- KNC delegated at the peak (epoch 19)
- 1.37M
- earned over 12 epochs
- 24.44 ETH
- fee, every epoch
- 0%
- KyberDAO campaigns voted
- 17
- sent back to 720 addresses in 2026
- 9.32 ETH
Two weeks at a time
Every KyberDAO epoch, from the pool's first one to its peak. Counted from KyberStaking's Delegated events and the pool's own claims.
Show the numbers
| Epoch | Starts | Addresses | KNC delegated | Reward share | Pool earned | Members claimed |
|---|---|---|---|---|---|---|
| 7 | 6 Oct 2020 | 1 | 0 | – | – | – |
| 8 | 20 Oct 2020 | 18 | 10 | – | – | – |
| 9 | 3 Nov 2020 | 28 | 40,883 | 0.10% | 0.1800 ETH | 0.1164 ETH |
| 10 | 17 Nov 2020 | 39 | 438,328 | 1.00% | 2.8593 ETH | 2.8422 ETH |
| 11 | 1 Dec 2020 | 48 | 450,188 | 1.03% | 1.7917 ETH | 1.7696 ETH |
| 12 | 15 Dec 2020 | 59 | 467,038 | 1.45% | 3.7457 ETH | 3.6681 ETH |
| 13 | 29 Dec 2020 | 71 | 533,857 | 1.28% | 3.3735 ETH | 3.2761 ETH |
| 14 | 12 Jan 2021 | 81 | 557,229 | 1.26% | 2.8368 ETH | 0.7030 ETH |
| 15 | 26 Jan 2021 | 94 | 571,430 | 1.32% | 2.4375 ETH | 0.6409 ETH |
| 16 | 9 Feb 2021 | 173 | 610,140 | 1.48% | 1.8335 ETH | 0.5464 ETH |
| 17 | 23 Feb 2021 | 589 | 1,017,845 | 1.85% | 1.8413 ETH | 0.6356 ETH |
| 18 | 9 Mar 2021 | 810 | 1,363,270 | 2.40% | 1.2399 ETH | 0.3974 ETH |
| 19 | 23 Mar 2021 | 924 | 1,373,616 | 2.51% | 1.2146 ETH | 0.2941 ETH |
| 20 | 6 Apr 2021 | 1,009 | 1,357,324 | 2.44% | 1.0826 ETH | 0.2168 ETH |
| 21 | 20 Apr 2021 | 1,061 | 867,896 | – | – | – |
| 22 | 4 May 2021 | 1,099 | 753,347 | – | – | – |
| 23 | 18 May 2021 | 1,118 | 633,483 | – | – | – |
| 24 | 1 Jun 2021 | 1,126 | 496,152 | – | – | – |
| 25 | 15 Jun 2021 | 1,130 | 285,233 | – | – | – |
| 26 | 29 Jun 2021 | 1,131 | 271,281 | – | – | – |
| 27 | 13 Jul 2021 | 1,137 | 252,634 | – | – | – |
| 28 | 27 Jul 2021 | 1,138 | 247,767 | – | – | – |
| 29 | 10 Aug 2021 | 1,141 | 243,567 | – | – | – |
| 30 | 24 Aug 2021 | 1,143 | 242,811 | – | – | – |
| 31 | 7 Sep 2021 | 1,143 | 242,202 | – | – | – |
| 32 | 21 Sep 2021 | 1,143 | 241,640 | – | – | – |
| 33 | 5 Oct 2021 | 1,143 | 235,666 | – | – | – |
| 34 | 19 Oct 2021 | 1,144 | 232,843 | – | – | – |
How it worked
The pool never held anyone's KNC. Members kept their stake in KyberStaking and pointed their vote at the pool. The pool voted once for all of them, claimed the epoch's ETH reward from the KyberFeeHandler, and anyone could then pay each member their share.
The contract is Protofire's KyberPoolMaster, deployed with a 0% delegation fee, which never changed.
Delegate
KyberStaking.delegate(pool)
Members deposited KNC into KyberStaking and called delegate with the pool's address. Their KNC never left KyberStaking. The pool only counts a member for an epoch if KyberStaking says their representative was the pool.
- Who can call it
- Any KNC staker
- KNC holderdeposit KNCKyberStaking
- KyberStakingdelegate(pool)KyberPoolMaster
(uint256 stake, , address representative) = kyberStaking.getStakerData( _poolMember, _epoch ); if (stake == 0) { return 0; } if (representative != address(this)) { return 0; }Seventeen votes
Every campaign the pool voted in, with the option it picked and the option that won. The BRR options split the network fees between staker rewards, rebates and burning.
- #10BRRepoch 8KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 62.75% · rebate 31.48% · burn 5.77%
Voted option 4 of 4Option 1 wonView vote transaction 0xdf51…7862 ↗
- #11BRRepoch 9KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 67.32% · rebate 26.48% · burn 6.20%
Voted option 1 of 4WonView vote transaction 0xe58e…e2f9 ↗
- #12BRRepoch 10KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 67.32% · rebate 26.48% · burn 6.20%
Voted option 1 of 4WonView vote transaction 0xaf1a…af89 ↗
- #13BRRepoch 11KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 67.32% · rebate 26.48% · burn 6.20%
Voted option 1 of 4WonView vote transaction 0xa089…58e9 ↗
- #14BRRepoch 12KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 62.75% · rebate 31.48% · burn 5.77%
Voted option 4 of 4Option 1 wonView vote transaction 0xbaa7…b1fc ↗
- #15Generalepoch 12KLP-1: Listing Proposal for {GRID, OM, RFOX, STRONG, NTB} ↗
Voted option 1 of 2WonView vote transaction 0x9677…0830 ↗
- #16BRRepoch 13KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 72.32% · rebate 22.43% · burn 5.25%
Voted option 3 of 4Option 1 wonView vote transaction 0x8632…8485 ↗
- #17Generalepoch 13KLP-2: Listing Proposal for {1INCH, NRG, EVEREST, MITX} ↗
Voted option 1 of 2WonView vote transaction 0xd97e…ba05 ↗
Voted 2 times; the last vote counts.
- #18BRRepoch 14KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 62.75% · rebate 31.48% · burn 5.77%
Voted option 4 of 4Option 1 wonView vote transaction 0x656b…8070 ↗
- #19BRRepoch 15KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 67.32% · rebate 26.48% · burn 6.20%
Voted option 1 of 4WonView vote transaction 0xe9e6…090f ↗
- #20BRRepoch 16KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 67.32% · rebate 26.48% · burn 6.20%
Voted option 1 of 4WonView vote transaction 0xc194…26c6 ↗
- #21BRRepoch 17KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 72.32% · rebate 22.43% · burn 5.25%
Voted option 3 of 4Option 1 wonView vote transaction 0xb7bd…63b8 ↗
- #22BRRepoch 18KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 62.75% · rebate 31.48% · burn 5.77%
Voted option 4 of 4WonView vote transaction 0x259e…271b ↗
- #23Generalepoch 18KIP-6: Migrate KNC token contract to a new implementation ↗
Voted option 1 of 2WonView vote transaction 0x6700…129d ↗
- #24BRRepoch 19KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 67.75% · rebate 27.26% · burn 4.99%
Voted option 3 of 4WonView vote transaction 0x6ae3…eed8 ↗
- #25BRRepoch 20KIP-2: Starting Framework for KyberDAO BRR Process ↗reward 72.75% · rebate 23.04% · burn 4.21%
Voted option 3 of 4WonView vote transaction 0x82ef…6857 ↗
- #26Generalepoch 20KIP-7: Migrate Kyber DAO to a new architecture ↗
Voted option 1 of 2WonView vote transaction 0xabfa…d39b ↗
The pool's life
From the deploy to the latest claim. Every hash links to Etherscan.
- KyberPoolMaster deployedView transaction 0xfee3…29c8 ↗
- Ownership handed to the pool ownerView transaction 0xcd71…5ea8 ↗
- First delegation to the pool (epoch 7)
- First vote: campaign 10 (BRR, epoch 8)View transaction 0xdf51…7862 ↗
- First pool reward claim: epoch 9, 0.18 ETHView transaction 0xdb9d…33c9 ↗
- First member claimView transaction 0xa637…77be ↗
- Biggest epoch: 3.75 ETH for epoch 12View transaction 0xd7d2…b18d ↗
- Peak stake: 1,373,616 KNC delegated in epoch 19
- Last votes: campaigns 25 and 26 (KIP-7, migrate the DAO)View transaction 0xabfa…d39b ↗
- Last pool reward claim: epoch 20, 1.08 ETHView transaction 0x700f…f68e ↗
- Peak members: 1,144 addresses delegating in epoch 34
- A member claims, five years onView transaction 0x2dd2…ebb2 ↗
- harry.eth claims its own rewardsView transaction 0x1ce1…37b8 ↗
- First refund transaction: 720 addresses paid in 103 transactionsView transaction 0x0034…19e1 ↗
- Last refund transaction, 26 minutes laterView transaction 0x216a…d9c0 ↗
The sunset
On November 25, 2021, the project was sunsetted and no more improvements were made to the project.
Users are still able to withdraw their KNC (as the project did not take custody) and claim any unclaimed ETH rewards.
Key milestones, from the sunset post
- Serviced over 1,000 users on Ethereum
- Over $1.5M in KNC staked in the KCP
- Over $150K in rewards
- As a community, we contributed plenty of feedback to help Kyber Network grow
9.33 ETH
unclaimed, until October 2026
Rewards members had earned and never collected. On 29 Oct 2026 it was sent back to 720 of them. How that went ↓
- Claimed by members themselves
- 15.11 ETH
- Member claims
- 710
- Addresses that claimed
- 206
Figures are decoded from public data: the verified KyberPoolMaster source, its transactions and events, and KyberStaking and KyberDao state read from a public node on 28 Oct 2026. The milestone figures in US dollars come from the sunset post and aren't recomputed here.
Sent back
Five and a half years after the last reward, the ETH nobody had claimed went back to the people who earned it.
The ETH the pool earned in epochs 9 to 20 sat in the contract for five and a half years. The pool claimed its last epoch on 21 April 2021, and the oldest rewards had been waiting since November 2020. Most members were owed too little to bother coming back for: half of the addresses were owed less than 0.00075 ETH.
On 29 October 2026 I paid it back. 103 transactions on Ethereum sent 9.3233 ETH to 720 addresses in 26 minutes, for 0.00402 ETH in gas. Nobody had to sign anything or claim anything: the ETH just arrived in their wallets.
My own address, harry.eth, claimed its 0.0032 ETH by hand the night before. Five addresses, owed 0.0036 ETH between them, were skipped because their wallets look compromised. Their ETH stays in the contract for them to claim.
- addresses paid
- 720
- sent back
- 9.3233 ETH
- transactions on Ethereum
- 103
- 03:35 to 04:02 UTC, 29 Oct 2026
- 26 min
- in gas, about $9.29
- 0.00402 ETH
- Epochs 9–20 earn the ETH. The pool collects it between 19 Nov 2020 and 21 Apr 2021.
- The project is sunset. The unclaimed part stays where it is.
- Sent back, 2,017 to 2,170 days after the pool collected it.
The five biggest refunds
Between them, 85% of the ETH. KNC is what each address had staked and delegated to the pool in the epochs it was paid for.
- 10x06be1e…7d44816.7048 ETH400,000 KNCepochs 14–20
- 20xfc2486…f7ae980.8625 ETH196,000 KNCepochs 17–20
- 30xef5832…092cb30.2082 ETH80,340 KNCepochs 18–20
- 40xeac446…d8e7d70.0916 ETH23,000 → 11,000 KNCepochs 17–20
- 50x9b565a…623dcf0.0872 ETH2,803.981 KNCepochs 12–20
First transaction 0x0034…19e1 ↗last 0x216a…d9c0 ↗every refund transaction ↗
Read from Ethereum mainnet: the payouts logged in each refund transaction, its gas used and gas price, the KNC stake KyberStaking recorded for each epoch, and Chainlink's ETH/USD price at each transaction's block ($2,309.77 for all 103).
