---
# System prepended metadata

title: Revenue Sharing Policy Options
tags: [Spec-Revenue-Sharing]

---

---
tags: Spec-Revenue-Sharing
---

# Revenue Sharing Policy Options


## Regular Policies Table

<table>
<tr>
<th>Policy</th>
<th>Option 1</th>
<th>Option 2</th>
<th>Option 3</th>
<th>Implementation</th>
</tr>
    <tr>
<td>
Delegator Join Check
</td>
<td>
<a href="#1.-None-DJC">None</a>
</td>
<td>
<a href="#2.-Maximum-Stake">Maximum Stake</a>
</td>
<td>
<a href="#3.-Broker-Whitelist">Broker Whitelist</a>
</td>
<td>
</td>
    </tr>
    Whitelisting could be a module; max stake maybe a config param on the BrokerPool
    <tr>
<td>
Pool Maximum Allocation
</td>
<td>
<a href="#1.-None-PMA">None</a>
</td>
<td>
<a href="#2.-Maximum-Staking">Maximum Staking</a>
</td>
<td>

</td>
<td>
</td>
    </tr> max stake maybe a config param on the BrokerPool
            <tr>
<td>
Delegator Invest
</td>
<td>
<a href="#1.-Simple-Investment">Simple Investment</a>
</td>
<td>
<a href="#2.-Bonding-Curve-Investment">Bonding Curve Investment</a>
</td>
<td>

</td>
<td>
</td>
    </tr>
<tr> 
<td>
Yield
</td>
<td>
<a href="#1.-Simple-Yield-Policy-IB">Simple Yield Policy IB</a>
</td>
<td>
<a href="#2.-Simple-Yield-Policy-Pool">Simple Yield Policy Pool</a>
</td>
<td>
<a href="#3.-Simple-Yield-Policy-Mixed">Simple Yield Policy Mixed</a>
</td>
<td>
</td>
    </tr>
            <tr>
<td>
Slashing Penalty Allocation
</td>
<td>
<a href="#1.-None-SPA">None</a>
    
    
</td>
<td>
<a href="#2.-Broker-Penalty">Broker Penalty</a>
    
    
</td>
<td>
<a href="#3.-Pool-Value-Decrease">Pool Value Decrease</a>
</td>
<td>
</td>
    </tr>
    <tr>
<td>
Delegator Divest Check
</td>
<td>
<a href="#1.-None-DDC">None</a>
</td>
<td>
<a href="#2.-Time-Requirement">Time Requirement</a>


</td>
<td>

</td>
<td>
</td>
    </tr>
    <tr>
<td>
Delegator Maximum Withdraw
</td>
<td>
    <a href="#1.-All-Free-Funds">All Free Funds</a>

</td>
<td>
<a href="#2.-Minimum-Funding">Minimum Funding</a>


</td>
<td>

</td>
<td>
</td>
    </tr>
            <tr>
<td>
Delegator Divest
</td>
<td>
<a href="#1.-Retirement-Only-Divest">Retirement Only Divest</a>
</td>
<td>
<a href="#2.-Bonding-Curve-Divest">Bonding Curve Divest</a>
</td>
<td>
<a href="#3.-Available-Funds-Only">Available Funds Only</a>
</td>
<td>
</td>
    </tr>
    <tr>
<td>
Delegator Retirement
</td>
<td>
<a href="#1.-Retirement-Pool-with-Debit">Retirement Pool with Debit</a>
</td>
<td>
    
</td>
<td>

</td>
<td>
</td>
    </tr>
    <tr>
<td>
Decrease Stake
</td>
<td>
All Stake Returned
</td>
<td>
Debits Paid off First
</td>
<td>
Mixed Policy
</td>
<td>
</td>
    </tr>
</table>


## Regular Policies Definitions

### Delegator Join Check

This policy maps a delegator and pool to a boolean value which says whether or not a delegator is allowed to join a pool.

#### 1. None DJC

Any delegator is able to join any pool at any time.

#### 2. Maximum Stake

This policy returns true only if the maximum stake is not reached for a given pool.

#### 3. Broker Whitelist

This policy returns true if a broker is within the broker whitelist.

### Pool Maximum Allocation

This policy controls what the maximum allocation a delegator may put in is. It takes the amount of a delegator has sent as maximum allocation and returns the minimum of that number and the policy number.

#### 1. None PMA

There is no maximum allocation of funds and thus it will just return what the delegator put as maximum allocation.

#### 2. Maximum Staking

A parameter for maximum stake will dictate the maximum amount of funding a pool will have. Thus a delegator will be capped if the difference between the current funding and max funding is less than what the delegator is trying to allocate.

### Yield

This policy maps how the broker revenue is disbursed between debits, the broker itself, and the delegators who have staked on the broker.

#### 1. Simple Yield Policy IB

The simple yield policy takes all revenue and first pays off any debits if debits are implemented. After that it is split between the owner share and the delegator share mapped to the internal balances in the vault.

#### 2. Simple Yield Policy Pool

The yield is paid out for the owner share and the rest all goes into pool value.

#### 3. Simple Yield Policy Mixed

A parameter decides the amount of the yield that gets allocated as the simple yield to internal balance policy and the amount to be allocated to the simple yield pool policy.


### Delegator Retirement

This policy takes care of how the delegators can retire from their delegations.

#### 1. Retirement Pool with Debit

When a delegator retires, they are moved to a retirement pool and their stake for each broker becomes a debit which is paid over time. Once the debits are all paid off they are removed from the retirement pool.

### Slashing Penalty Allocation

This policy allocates the penalties from a broker being slashed between the broker and current delegators.

#### 1. None SPA

Nothing is done to account for the slashing.

#### 2. Broker Penalty

The broker is penalized for the slashing by slashing their balance or adding a debit for them to pay.

#### 3. Pool Value Decrease

The slashing hits the pool value directly and is subtracted out.

### Delegator Invest

This policy controls how the investment from a delegator is translated to shares owernship in the broker pool.

#### 1. Simple Investment

Under simple investment, every time a delegator delegates to a broker, a new amount of shares is created which reflects how much money they put in regardless of number of shares or timing.

#### 2. Bonding Curve Investment

Under a bonding curve, the shares given to a delegator is computed from a bonding curve leading to a larger price per share over time.

### Delegator Divest Check

This policy returns a boolean value for whether or not a delegator is allowed to divest.

#### 1. None DDC

Any time a delegator can divest.

#### 2. Time Requirement

A delegator is required to have been in the pool for a designated amount of time.

### Delegator Maximum Withdraw

This policy returns the minimum of the maximum decided by the system and what the delegator is asking to withdraw.

#### 1. All Free Funds

All of the free funds can be withdrawn.

#### 2. Minimum Funding

There is a minimum funding amount as a parameter and only free funds in excess of this can be withdrawn.

### Delegator Divest

This policy controls the mechanics of how divestment works for the delegators.

#### 1. Retirement Only Divest

With this policy, the delegators are not allowed to withdraw ever unless they are retiring from the system completely.

#### 2. Bonding Curve Divest

Under this policy, a bonding curve is used to determine shares to be withdrawn by a delegator. The transaction can either be put to a debit on the broker pool or immediate fund withdraws.

#### 3. Available Funds Only

This policy allows for exchanging of pool tokens only for funds that are free within the pool at a given time.

## Behavioral Policies Table

<table>
<tr>
<th>Policy</th>
<th>Option 1</th>
<th>Option 2</th>
<th>Option 3</th>
</tr>
<tr>
<td>
Broker Joining Behavior
</td>
<td>
<a href="#1.-Simple-Broker-Joining-Behavior">Simple Broker Joining Behavior</a>
</td>
<td>

</td>
<td>

</td>
    </tr>
    <tr>
<td>
Broker Leaving Behavior
</td>
<td>
<a href="#1.-Simple-Broker-Leaving-Behavior">Simple Broker Leaving Behavior</a>
</td>
<td>
<a href="#2.-No-Broker-Leaving-Behavior">No Broker Leaving Behavior</a>
</td>
<td>

</td>
    </tr>
    <tr>
<td>
Delegator Joining Behavior
</td>
<td>
<a href="#1.-Simple-Delegator-Joining-Behavior">Simple Delegator Joining Behavior</a>
</td>
<td>

</td>
<td>

</td>
    </tr>
    <tr>
<td>
Delegator Leaving Behavior
</td>
<td>
<a href="#1.-Simple-Delegator-Leaving-Behavior">Simple Delegator Leaving Behavior</a>
</td>
<td>
<a href="#2.-No-Delegator-Leaving-Behavior">No Delegator Leaving Behavior</a>
</td>
<td>

</td>
    </tr>
    <tr>
<td>
Delegator Allocation Behavior
</td>
<td>
<a href="#1.-Simple-Delegator-Allocation-Behavior">Simple Delegator Allocation Behavior</a>
</td>
<td>

</td>
<td>

</td>
    </tr>
    <tr>
<td>
Broker Staking Behavior
</td>
<td>
<a href="#1.-Simple-Broker-Staking-Behavior">Simple Broker Staking Behavior</a>
</td>
<td>

</td>
<td>

</td>
    </tr>
</table>

## Behavioral Policies Definitions

### Broker Joining Behavior

This behavioral policy underpins assumptions of how quickly brokers are joining the revenue sharing system.

#### 1. Simple Broker Joining Behavior

It only returns either the number 0 or 1 (new brokers) and the probability of a new one is based upon 1-n/20 where n is the number of brokers.

### Broker Leaving Behavior

This behavioral policy underpins assumptions of how quickly likely brokers are to leave.

#### 1. Simple Broker Leaving Behavior

The simple broker leaving behavior gives each broker a 1/50 chance of leaving each period.

#### 2. No Broker Leaving Behavior

In this broker behavior there is no leaving for brokers.


### Delegator Joining Behavior

This behavioral policy underpins assumptions of how quickly delegators are joining the revenue sharing system.

#### 1. Simple Delegator Joining Behavior

It only returns either the number 0 or 1 (new delegators) and the probability of a new one is based upon 1-n/20 where n is the number of brokers.

### Delegator Leaving Behavior

This behavioral policy underpins assumptions of how quickly likely delegators are to leave.

#### 1. Simple Delegator Leaving Behavior

The simple delegator leaving behavior gives each delegator a 1/50 chance of leaving each period.

#### 2. No Delegator Leaving Behavior

In this delegator behavior there is no leaving for brokers.

### Delegator Allocation Behavior

This behavioral policy underpins assumptions of how delegators allocate their capital.

#### 1. Simple Delegator Allocation Behavior

The simple delegator allocation just gives all currently unused funds a delegator has to all brokers split evenly.

### Broker Staking Behavior

This behavioral policy underpins assumptions of how quickly brokers deploy stake to different streams.

#### 1. Simple Broker Staking Behavior

In the simple broker staking behavior all funds are immediately allocated to staking.

