(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26907],{24173:function(e,r,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/en/network/nodes/validator-node/verify-nodes/leaderboard-metrics",function(){return a(26338)}])},26338:function(e,r,a){"use strict";a.r(r),a.d(r,{useTOC:function(){return s}});var t=a(31549),o=a(82910),n=a(1117),l=a(46977),i=a(13844);function s(e){return[{value:"Calculating validator rewards",id:"calculating-validator-rewards",depth:2},{value:"Reward calculation example",id:"reward-calculation-example",depth:3},{value:"Rewards performance",id:"rewards-performance",depth:3},{value:"Last epoch performance",id:"last-epoch-performance",depth:3}]}r.default=(0,o.c)(function(e){let{toc:r=s(e)}=e,a={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.h1,{children:"Validator Leaderboard"}),"\n",(0,t.jsxs)(a.p,{children:["This document explains how the rewards performance for validator nodes are calculated and displayed on\nthe ",(0,t.jsx)(a.a,{href:"https://explorer.aptoslabs.com/validators/all?network=mainnet",children:"Aptos Validator Leaderboard"}),"."]}),"\n",(0,t.jsx)(a.h2,{id:r[0].id,children:r[0].value}),"\n",(0,t.jsx)(a.p,{children:"Validators are rewarded for participating in consensus. The rewards are calculated based on the number of successful\nproposals made by the validator, and the rewards performance is the percentage of rewards earned by the validator out\nof the maximum reward earning opportunity."}),"\n",(0,t.jsx)(a.p,{children:"During an epoch, only the validators in the validator set can propose and vote. The duration of each epoch is set\nby governance and validators are selected as leaders (in rounds) to make proposals. This occurs multiple\ntimes in each epoch, meaning that validators can be selected as leaders multiple times in a single epoch."}),"\n",(0,t.jsx)(a.p,{children:"On each successful proposal, the proposing validator earns rewards based on their stake and on the reward rate that is\nconfigured on-chain. The reward rate is the same for every validator. If all the proposals in an epoch achieve\nquorum consensus, a validator earns the maximum reward for the epoch. If all the proposals in an epoch fail, a\nvalidator earns zero rewards for that epoch. The reward performance is calculated as a percentage of the\nrewards earned by the validator out of the maximum reward earning opportunity."}),"\n",(0,t.jsx)(a.p,{children:"Validators are only rewarded for proposing, and not for voting. Rewards are given only at the end of the epoch,\nnot on every block."}),"\n",(0,t.jsx)(a.h3,{id:r[1].id,children:r[1].value}),"\n",(0,t.jsx)(a.p,{children:"The reward a leader receives is calculated by multiplying the maximum possible reward with the leader’s proposal\nsuccess rate. For example:"}),"\n",(0,t.jsxs)(a.ul,{children:["\n",(0,t.jsx)(a.li,{children:"A leader with 8 successful and 2 failed proposals will receive 80% of maximum reward in the epoch."}),"\n",(0,t.jsx)(a.li,{children:"Similarly, another leader with 80 successful and 20 failed proposal will also receive 80% of maximum reward."}),"\n",(0,t.jsx)(a.li,{children:"Also, two leaders with no failures but one with 10 and another with 100 successful proposals will get the same % of the maximum reward."}),"\n"]}),"\n",(0,t.jsx)(i.U,{type:"info",children:(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"REWARDS RATE"}),(0,t.jsx)("br",{}),"\nNote also that the rewards rate is the same for every validator. Hence, the maximum reward is directly proportional\nto the staking amount, i.e., the more a validator stakes, the more the validator can earn in absolute terms."]})}),"\n",(0,t.jsx)(a.h3,{id:r[2].id,children:r[2].value}),"\n",(0,t.jsxs)(a.p,{children:["The ",(0,t.jsx)(a.strong,{children:"REWARDS"})," ",(0,t.jsx)(a.strong,{children:"PERFORMANCE"})," column on the\n",(0,t.jsx)(a.a,{href:"https://explorer.aptoslabs.com/validators/all?network=mainnet",children:"Aptos Validator Leaderboard"})," shows the rewards\nperformance of a validator. It is calculated as a percentage of the rewards earned by the validator out of the maximum\nreward earning opportunity. This is a cumulative metric across all the epochs,\ni.e., ",(0,t.jsx)(a.code,{children:"(rewards earned across all epochs)/(maximum reward opportunity across all epochs)"})]}),"\n",(0,t.jsx)(a.p,{children:"A validator can improve their rewards performance by improving their proposal success rate."}),"\n",(0,t.jsx)(a.h3,{id:r[3].id,children:r[3].value}),"\n",(0,t.jsxs)(a.p,{children:["The ",(0,t.jsx)(a.strong,{children:"LAST EPOCH PERFORMANCE"})," column on the\n",(0,t.jsx)(a.a,{href:"https://explorer.aptoslabs.com/validators/all?network=mainnet",children:"Aptos Validator Leaderboard"})," shows the rewards\nperformance of a validator in the last epoch. It is calculated as a percentage of the rewards earned by the validator\nin the last epoch out of the maximum reward earning opportunity in the last epoch, i.e., ",(0,t.jsx)(a.code,{children:"(rewards earned in the last epoch)/(maximum reward opportunity in the last epoch)"}),"."]}),"\n",(0,t.jsx)(a.p,{children:"This metric provides an early indicator to see if a validator is improving their reward performance."})]})},"/en/network/nodes/validator-node/verify-nodes/leaderboard-metrics",{filePath:"pages/en/network/nodes/validator-node/verify-nodes/leaderboard-metrics.mdx",timestamp:1728425436e3,pageMap:n.v,frontMatter:{title:"Validator Leaderboard"},title:"Validator Leaderboard"},"undefined"==typeof RemoteContent?s:RemoteContent.useTOC)},13844:function(e,r,a){"use strict";a.d(r,{U:function(){return s}});var t=a(31549),o=a(78364),n=a(83185);let l={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,t.jsx)(n.AV,{className:"_mt-1"}),warning:"⚠️"},i={default:(0,o.Z)("_border-orange-100 _bg-orange-50 _text-orange-800 dark:_border-orange-400/30 dark:_bg-orange-400/20 dark:_text-orange-300"),error:(0,o.Z)("_border-red-200 _bg-red-100 _text-red-900 dark:_border-red-200/30 dark:_bg-red-900/30 dark:_text-red-200"),info:(0,o.Z)("_border-blue-200 _bg-blue-100 _text-blue-900 dark:_border-blue-200/30 dark:_bg-blue-900/30 dark:_text-blue-200"),warning:(0,o.Z)("_border-yellow-100 _bg-yellow-50 _text-yellow-900 dark:_border-yellow-200/30 dark:_bg-yellow-700/30 dark:_text-yellow-200")};function s({children:e,type:r="default",emoji:a=l[r]}){return(0,t.jsxs)("div",{className:(0,o.Z)("nextra-callout _overflow-x-auto _mt-6 _flex _rounded-lg _border _py-2 ltr:_pr-4 rtl:_pl-4","contrast-more:_border-current contrast-more:dark:_border-current",i[r]),children:[(0,t.jsx)("div",{className:"_select-none _text-xl ltr:_pl-3 ltr:_pr-2 rtl:_pr-3 rtl:_pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:a}),(0,t.jsx)("div",{className:"_w-full _min-w-0 _leading-7",children:e})]})}},82910:function(e,r,a){"use strict";a.d(r,{c:function(){return s}});var t=a(31549),o=a(74271),n=a(14553),l=a(55754),i=a(46977);function s(e,r,a,t){let n=globalThis[o.ud];return n.route=r,n.pageMap=a.pageMap,n.context[r]={Content:e,pageOpts:a,useTOC:t},d}function d({__nextra_pageMap:e=[],__nextra_dynamic_opts:r,...a}){let i=globalThis[o.ud],{Layout:s,themeConfig:d}=i,{route:h,locale:p}=(0,n.t)(),u=i.context[h];if(!u)throw Error(`No content found for the "${h}" route. Please report it as a bug.`);let{pageOpts:m,useTOC:f,Content:w}=u;if(h.startsWith("/["))m.pageMap=e;else for(let{route:r,children:a}of e){let e=r.split("/").slice(p?2:1);(function e(r,[a,...t]){for(let o of r)if("children"in o&&a===o.name)return t.length?e(o.children,t):o})(m.pageMap,e).children=a}if(r){let{title:e,frontMatter:a}=r;m={...m,title:e,frontMatter:a}}return(0,t.jsx)(s,{themeConfig:d,pageOpts:m,pageProps:a,children:(0,t.jsx)(l.F,{value:a,children:(0,t.jsx)(c,{useTOC:f,children:(0,t.jsx)(w,{...a})})})})}function c({children:e,useTOC:r}){let{wrapper:a}=(0,i.a)();return(0,t.jsx)(h,{useTOC:r,wrapper:a,children:e})}function h({children:e,useTOC:r,wrapper:a,...o}){let n=r(o);return a?(0,t.jsx)(a,{toc:n,children:e}):e}}},function(e){e.O(0,[68889,1117,92888,49774,40179],function(){return e(e.s=24173)}),_N_E=e.O()}]);