---
# System prepended metadata

title: Governance & Vesting

---

# Governance & Vesting

<center>

![](https://i.imgur.com/Y8SLUMx.png)

<br/>

[Expand diagram](https://viewer.diagrams.net/?highlight=0000ff&edit=_blank&layers=1&nav=1&title=Mavryk%20Governance.drawio#R7V1bc6M4Fv41eUwKSSCJx07S01O101XZylbv9CNrE5ttB1yY3PbXL44BmyOFi9GNzKQfOhDJ2MfnfOd%2BdEFuHl%2B%2F5dF2%2FT1bxpsL7C1fL8jtBcaI07D8b3%2Fn7XAHU44Od1Z5sqxWHW%2FcJ%2F%2BLq5tedfcpWca71sIiyzZFsm3fXGRpGi%2BK1r0oz7OX9rKHbNN%2B6jZaxcKN%2B0W0Ee%2F%2BO1kW68Ndjtnx%2Fu9xslrXT0b1J36M6sXVJ9mto2X2cnKLfL0gN3mWFYffHl9v4s2eejVdDvt%2B%2B%2BCvzRvL47QYsgFv7u6uf979q9zwz%2FTnzdfbPCCX%2Bw37l3mONk%2FVJ67ebfFWkyDPntJlvH8V74Jcv6yTIr7fRov9X1%2FKb728ty4eN%2BUVKn99SDabm2yT5eV1mqXloutltFu%2Fb9%2F%2FXXzX1Qd5jvMifj25VX2Kb3H2GBf5W7mk%2BqvPK4pWPHVJquuX4xeEWH1zffLtkKC6GVVcsWpe%2FEi48peKdmPoOD8yBm0qUpGIREbDRjKV05AINPwR74okXXWQEg0gZZYW99Xe%2FfWuyLNfjTBjNcREQdCiJsKByJNYQk6ui5q%2BQM2XpFgv8%2BhlGmdqIR9r82LDmyfU4xLi%2BbqIR2cozrRXnqU0bPSTciIygYjP33%2F8YwbCTP02KZFMwRgVZuoLZIuXpZ1SXWZ5sc5WWRptvh7vXrc59LjmjyzbVuT7b1wUb5XRFT0VWZvY8WtS%2FLnffoW4X13%2FLK8vvSvPo9WN29fqAe8Xb%2FVFuvyyt77Ky8Um2u2SxeHmb8lGDiTvz0tLWv3ZvEJ58fP96SWWVtfHh71fvZ08%2Bi7Ok5LYcV7d%2B5APdtlTvoi7kLP6FosoX8VFx0J%2BWLf%2FJjrZKo83UZE8ty1KGY9UW%2B%2BypHzPJ%2BBIWuwYeGH7JQ6fqNp15LTyC4jeTpZt9wt2Hz%2BHhrz1HBICgxKs97E3aT0KWuvLXw7v%2BCgmDQ3PlxwugNBjTSa3VGAAqeNb1oEksIs5B6mvIAd1ok1Ll4rfzhFXrvApsuxxDKE%2BbNlfqQMXRAaCS61zdKMLAnZD4AGGOrzT6eiC2s%2FxobsK3xfrXK8HLWpaGOb5I3%2By4JRB%2B3izxfejVS5uiRsJCVDxhHQKnVqlS4Yq3VqAtMsF75ELRVoX8bDN5363XFDida3XIxdI9M1VqlBFLhD12qTBVHTCfYkKJbpUKAoUk82AHwmJ2NglfY5ko0jUk1F0x2%2BzLH%2BM0g5qOuNMQhyROOZmnUkkOuYOh4ZgXCOwbRcj0aVwXqgRqvc4Ex1CoUDGeUSHSmFt09J%2BeKh%2BmPteLvI4IJ5tcaZIIJOrbu6Jn0C9xjdoInJ9UTIF3oJaX7hJ6FryhUeb6oi1mbdOkH3ow07e4NPuDRh61dSAN9CIvdPeAEK0TUuZO0BCEWq0uQNYNLyctxyg9SrzBjyj3gAW7a%2F7IvoVr7PNsgQlzQbEKckvMHkI9v%2BalSd%2Foe8%2F1Wue3D%2F8KDNF2t%2BOdd%2BCECva9KgYR8XPRuBOr47ytagoiYYAgB%2FqSQbB55CesFTPek3hWhE%2FjdpurCQ%2BSIvW1lyvBWcj0mshXFu%2FomXTDcOoKe9j53DiBmIiu0lEx89FSwyUmjWh9FM1JTMitFlivlXgQHXasQKO0gn02EDcOAWNE203WMEphgE6EAbqmKMxGGixhwJJY1bDBG1uYWEft5xTfGOHMaiedJ45xiCqawW1QDCssJRF0WXVvghmPdVBsEvlJZ4h9D1foAYXpQVUi0CJVWmw%2BktT3YjwHBZ0GmK%2BP209NlFn4jO7zB94pKVRPNTttwxTF%2BfKiQGpqJlIu3vuwdphGAdTJRbgOQFCnWwO1%2FeWX8EPMnoDMhGK9mfhAAk1AMi6AzTDJDYDlQCXjVFjrzTFF7PYN1n6kKye8hJGsjkUqHAfktV6PjsQpXod7Up185iU3kwnVW0ltjkJrtotYJfyugBJwklbbjuwbGOfY2KfdHucF8I%2F8X4rIDq6vtOsjQAPtDYCPcmAsTYCh%2FWQ3Rqch13L9ejvmqRu628G9LfEeTZaV1q%2FnTnI9RmhqAkS6g%2BVUOX%2BwDSgFrt1HRQDDhvvJW26RuUgEGNv%2F3nKXTQPYHcXlqRAjJa9BdwKhJwZIVALI%2F3ooCdbITrlsLYZzlZQlMyHz%2BnrMUHe1A1mjAexnspR8RfKXq3LPxU7epbxNtslLlYNi7MNbFOPWkHPaY7VKL%2Bqz4tSabXVdZlz8asQ7JntcazCTj9MU2mU6tYzTTW6MMps2aKkokop8ijdPXRWlrpiVXLLsFjHY10okhhaiGfTEO1HRj4QGalyi3WaGKlOL2hBH8J6xUdWE6FPfGYRDANRQlkxn1HIZqp70y00WfOhTdZNyks9GcUQ1G28iVdzSWPBHGuIbE%2FgY6IJtouLiqixi%2BYEajupXGKNmU1gsdCmQVEX6Y9sznTaomBDLYqaex2xKBC2XDJ1Vp%2BuclYor6r3Sm0xBsLKKwynYcQsbE0MND6V1K6YzSGKTbzl934dbaJ04aJyEpPZA6tUtCknbqfXUa6cBkYBkXJEUolBHA%2FEoJp5LQcCGWlPzGQ93fohiHaNXW8kcog8y8Htsyrzz45um9e0g7kcecptsPPYHOFRbEvwODaH6wnqXg%2BbOcF6PWJRf2tumxkMBhY80QsOjJoZohOcpe%2FzGm7WUbpy0dKA2XIusTRCk15waHn691kTilp47E3HY6UIzIbaGY4AMAhU9w1jCCGgjlzPetZz1LleEwCrnp6jB4BBr7v9GaSeiMAl0%2F%2BRLX7FS3fdPTj%2BWXYkiFl3D3mWS%2BZAZbwCTO2zcc9RAeejMvIsw7JomJJ2SweuH6y4Po9Av7AHfxkPutbr8gtnAcDQmcCBbQCuleWcEpRIaFlkVyIdTY%2BMRWLMcjeTobHQqUBYRlDDg6Brv34Gc2PFM5lk9DM7CJo61F432C8zbkRMMAgGH5aCiBuOGgphaKpHkwsjHI3MzUPzOM8BhajfmTI6wRUhsUrG1ZYDATFD%2B4hZD313ATEHZxbGTWrsK5zXCZdzq6NnNT%2FULNoTpgJwYCLsj5Sf4aIHKmnYJqXUPDLs91it2AEDFq2Vg%2BuU98HTF2tD37bAw7rXEHdLvLABVX2rmmXeTqRPPuzxL865jqgqCuz0sMewFzZgZIRzZzGNkoPgfiiZh2W086LxwmYVo2PAHgolORLDhzM050yJbQRdWSYlYTq3jmaAicAwFL8cw%2BE%2BLIJDHq%2BSXRHnM%2BpKCKWFnybrMZDkCBL30YLCEcAStKCy2iCdaCGOz%2FuWlZ8p7clKOxPW53CCh30pl5wJsM2zbbZzUbhLvxXUxUsIaLTYChFRgz1nTiIj4gAaHSAeFogXv8aLJyfphz3uHPOJgfnFJo5yF6mHQu4a9cTovNM9LQgW3slj9IbrnKjlclM3%2Blo0Rj%2FI0Dh9w9COtNo179zt8IJwGFkgmcRrNhbuI4FOf%2FfUKJWpcLBMeW7JlN2zqAzPEnObM5R3FU7jDGaZM85RxJ%2BUNZhy1jgvDcGBwcjbpwxKCpJ45wZNaQgixnUctBOEosxQYifICmQ02gmqCWcishjCULcDeQjJERJf0rc9AT4m5yfMQoQgvOZAFiIQOdpWcv0vrdLqUJ11lQbqFHnPSbvYgzpw7Ia%2BfnSMSOcGTUozmNM8kem9ZWeK1wTZCNBg2dBzKqnIaRh2fkHTQtFxcdiDsy57DMf9idfTNtQfRbPQiNmaaQaTpulPsFTDuqVJ3VHDvbN61YHNyDjxFLAZrIg1HYEskVCg1kI%2FvApPfkBz6wfQo050Z%2BEkNtNljp2QtovVJGc3uEg4ONs9tE84q3W9ZzbssRk17NGhdb2mOvgRo%2B1W%2BUCTgSU8iPR4JQgeajJ6A%2Bspnud19lC%2BXpNBRmdRgYyYD8%2FrtN9caPf4BO9ijEkm7zpgbife6VCbjGtBp9GYEsAhDLz7LHthA%2BmJdPgQg0aur1lWM6TMwlBENGjjbSADFKP2DhOd45Jj48jNUtDSJwaQbL%2BiTHK4xNN2GRXxj3hXJOnKQTpewpoyX1JRJsvGaKSiWJf3lM6g9UA81Bt51g%2F1Li3N2ZkJsyrPY4PL85hj5XmSE0ecVJQgKSkVKsOaUuzocX1MbandITrJ6hzN6ku7J5OPiyrL809uB1jYUA%2Bm4WhnsGkWRrzQmWw9Zik5pyNLj01yXxY953O5Yztx6QhXs%2FBkN8X%2B6U2n4UcbOHKCB4LHGdK%2Bgkq4gRsJgczj9AEhBEKtG3ZcdD2nEc5AQeUlnGHLJaNXDddTSs5xuCnJtkg2HeT8fAWVlxhEWBG2PsWVOzRn6zMOK%2BKDhxUx5ZUcEzljFrm4S1goIItYKtIa5WWeZcWpdi4%2F5Pp7toz3K%2F4P)

</center>

## Vesting

|Parameter|Value|
|--|--|
|Cliff|0/6 month|
|Cooldown|1 month|
|Amount per claim|2500tez|
|Claim count|17-23 (nat representing months)|

**All time based values above are expressed in timestamps/miliseconds*

All vested tokens are pre-minted and held by the vesting contract, which gradually transfers them on every withdraw proportionately to their respectful owner.

The vesting cooldown is an expiry period until the next withdraw call can be made successfuly by the given vestee. Therefore implicitly the tokens are not released "every month", but at every withdraw call - those calls are spaced out by the cooldown. 

This approach simplifies the vesting implementation greatly, but creates demand on the vestees to withdraw their tokens in a timely manner.

The implementation should only release full chunks of vested tokens, depending on if the cooldown period has passed or not. Suming up tokens from previous cooldown periods as well.

**NOTE:**
Since the vested tokens are pre-minted, and released as vMVK instead of MVK directly, the tokens received by vested stakeholders will not be 1:1 with the originally offered MVK. This is due to vMVK being subject to the Doorman conversion rate.

### Entrypoints

#### `%withdraw`
Release a portion of the vested tokens based on the amount of cooldown periods passed since the last withdrawal.

On every withdrawal, the delegation module needs to be informed of the locked balance change. This is important since the newly unlocked stake is propagated through the vMVK token contract directly. Failure to inform the Delegation module about the locked balance change would result in duplicit stake.

#### `%getLockedBalance`

This entrypoint acts as a view for vested, but not unlocked tokens of a user. It is required to enable voting / stake representation with vested and not yet unlocked tokens.

#### `%updateVesting`

This entrypoint allows the governance/council to tamper with the existing vesting, and to add new vesting for upcoming investors or team members.


## Delegation


|Parameter|Value|
|--|--|
|Bond size|10% of the delegation|


### Entrypoints

#### `%registerDelegate`

Any stakeholder with sufficient vMVK balance can register as a delegate. Automatically his vMVK is considered as a locked bond / own stake. It is imporant to note that the locked bond limits the size of overall delegations/stake that a single delegate can accept. This introduces a certain dynamic into the tokenomics, in order to achieve an even distribution of voting power within the system.

Delegate's address is used as an unique identifier accross the system.

#### `%setDelegate`

Any stakeholder can delegate their existing vMVK stake to a delegate, as long as the delegate has a sufficient bond.

#### `%onStakeChange`

This hook accepts all the incoming stake changes, for both delegates and delegators (any vMVK holders).

It allows the delegate to become overdelegated, or their bond to be withdrawn as long as they are not actively participating in an ongoing governance proposal.

As soon as the delegate becomes overdelegated, they are no longer eligible to participate in governance, until they provide a sufficient bond.


#### `%onGovernanceAction`

This hook checks if the delegate performing the governance action has sufficient bond. Since the bond sufficiency is checked upon attempting to perform a governance action, the delegate can become over-delegated at the time of delegation.


## Governance

|Parameter|Value|
|--|--|
|Reward per successful proposal|10000 vMVK|
|Proposal period length| 2 days |
|Voting period length| 2 days |
|Execution period length| 2 days |
|Reward period length| 2 days |

### Lifecycle of a proposal

1. Proposal period
    - When a proposal is proposed, the delegate's stake becomes locked
2. Voting period
    - When a vote is cast, the delegate's stake becomes locked
3. Execution period
    - Execution of a proposal is timelocked
    - Release of an un-executed proposal is timelocked, the countdown starts after the supposed execution should have happened.
4. Reward period

#### Governance incentives

Proposing and voting should be incentivezed based on the time the Delegate's stake is locked. Delegate that proposes a proposal, gets their stake locked first, therefore they are incentivized slightly more. Delegate proposing a proposal also automatically votes as 'Yay'

Incentives should only apply, if the proposal executes successfully, in order to prevent rinsing and abuse of the governance incentives.

Voting stake becomes locked from the moment the vote is cast. All locked stake is released only after the proposal has been either executed, or cleared.

The rewards are weighted depending on the stake & time duration of the lock.