Skip to content

Commit 436083d

Browse files
committed
SIMD-0232: Custom Fee Collector Account
1 parent f2941e4 commit 436083d

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed
+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
simd: '0232'
3+
title: Custom Fee Collector Account
4+
authors: Justin Starry (Anza)
5+
category: Standard
6+
type: Core
7+
status: Review
8+
created: 2025-01-24
9+
feature: (fill in with feature tracking issues once accepted)
10+
---
11+
12+
## Summary
13+
14+
Allow validators to specify a custom fee collector account where all earned
15+
block fees will be deposited.
16+
17+
## Motivation
18+
19+
Validator fee collector accounts must currently be the same as their identity
20+
hot wallet account. This means that program derived addresses are unable to be
21+
used for fee collection adding friction to validators distributing their revenue
22+
in custom ways. By allowing validators to specify a separate custom fee
23+
collector address, they can use onchain programs to customize how their block
24+
revenue is distributed.
25+
26+
## Alternatives Considered
27+
28+
NA
29+
30+
## New Terminology
31+
32+
NA
33+
34+
## Detailed Design
35+
36+
This proposal requires the adoption of SIMD-0180 and SIMD-0185. SIMD-0180
37+
adjusts the leader schedule algorithm to make it possible to designate a
38+
specific vote account for a given leader slot. SIMD-0185 adds a new fee
39+
collector address field to the vote account state.
40+
41+
After adoption of SIMD-0180 and SIMD-0185, a given block's fee collector address
42+
can be looked up via the designated vote account for the leader schedule slot
43+
that the block was produced in.
44+
45+
In order to eliminate the overhead of tracking the latest fee collector address
46+
of each vote account, the fee collector address should be fetched from the state
47+
of the vote account at the beginning of the previous epoch. This is the same
48+
vote account state used to build the leader schedule for the current epoch.
49+
50+
Note that the fee-collector constraints defined in SIMD-0085 still hold. The
51+
designated fee collector must be a system program owned account that is
52+
rent-exempt after receiving collected block fee rewards. If either of these
53+
constraints is violated, the fees collected for that block will be burned.
54+
55+
## Impact
56+
57+
Validator identity and fee collector accounts no longer need to be the same
58+
account. This opens up the ability to use PDA accounts for fee collection.
59+
60+
## Security Considerations
61+
62+
NA
63+
64+
## Drawbacks *(Optional)*
65+
66+
NA
67+
68+
## Backwards Compatibility *(Optional)*
69+
70+
This change will require the use of a new feature gate which will enable
71+
collecting fees into custom fee collector addresses if specified by a validator.

0 commit comments

Comments
 (0)